Freigeben über


TabControl.SelectedContent Eigenschaft

Definition

Ruft den Inhalt des aktuell ausgewählten TabItemab.

public:
 property System::Object ^ SelectedContent { System::Object ^ get(); };
public object SelectedContent { get; }
member this.SelectedContent : obj
Public ReadOnly Property SelectedContent As Object

Eigenschaftswert

Der Inhalt des aktuell ausgewählten TabItem. Der Standardwert lautet null.

Beispiele

Im folgenden Beispiel wird die SelectedContent Eigenschaft verwendet, um die Person aktuell ausgewählte TabItemEigenschaft abzurufen.

if (tabCtrl1.SelectedContent is Person)
{
    Person selectedPerson = tabCtrl1.SelectedContent as Person;
    StringBuilder personInfo = new StringBuilder();

    personInfo.Append(selectedPerson.FirstName);
    personInfo.Append(" ");
    personInfo.Append(selectedPerson.LastName);
    personInfo.Append(", ");
    personInfo.Append(selectedPerson.HomeTown);
    MessageBox.Show(personInfo.ToString());
}

If TypeOf tabCtrl1.SelectedContent Is Person Then

    Dim selectedPerson As Person = tabCtrl1.SelectedContent

    Dim personInfo As StringBuilder = New StringBuilder()

    personInfo.Append(selectedPerson.FirstName)
    personInfo.Append(" ")
    personInfo.Append(selectedPerson.LastName)
    personInfo.Append(", ")
    personInfo.Append(selectedPerson.HomeTown)
    MessageBox.Show(personInfo.ToString())
End If

Im folgenden Beispiel wird eine ControlTemplate für die TabControl. Durch Festlegen der ContentSource Eigenschaft auf "SelectedContent" werden Aliase für die SelectedContentEigenschaften und SelectedContentTemplateSelectorSelectedContentTemplateEigenschaften erstellt.

<Style  TargetType="{x:Type TabControl}">
  <Setter Property="OverridesDefaultStyle"
          Value="True" />
  <Setter Property="SnapsToDevicePixels"
          Value="True" />
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate TargetType="{x:Type TabControl}">
        <Grid KeyboardNavigation.TabNavigation="Local">
          <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" />
          </Grid.RowDefinitions>
          <VisualStateManager.VisualStateGroups>
            <VisualStateGroup x:Name="CommonStates">
              <VisualState x:Name="Disabled">
                <Storyboard>
                  <ColorAnimationUsingKeyFrames Storyboard.TargetName="Border"
                                                Storyboard.TargetProperty="(Border.BorderBrush).
                    (SolidColorBrush.Color)">
                    <EasingColorKeyFrame KeyTime="0"
                                         Value="#FFAAAAAA" />
                  </ColorAnimationUsingKeyFrames>
                </Storyboard>
              </VisualState>
            </VisualStateGroup>
          </VisualStateManager.VisualStateGroups>
          <TabPanel x:Name="HeaderPanel"
                    Grid.Row="0"
                    Panel.ZIndex="1"
                    Margin="0,0,4,-1"
                    IsItemsHost="True"
                    KeyboardNavigation.TabIndex="1"
                    Background="Transparent" />
          <Border x:Name="Border"
                  Grid.Row="1"
                  BorderThickness="1"
                  CornerRadius="2"
                  KeyboardNavigation.TabNavigation="Local"
                  KeyboardNavigation.DirectionalNavigation="Contained"
                  KeyboardNavigation.TabIndex="2">
            <Border.Background>
              <LinearGradientBrush EndPoint="0.5,1"
                                   StartPoint="0.5,0">
                <GradientStop Color="{DynamicResource ContentAreaColorLight}"
                              Offset="0" />
                <GradientStop Color="{DynamicResource ContentAreaColorDark}"
                              Offset="1" />
              </LinearGradientBrush>
            </Border.Background>
            <Border.BorderBrush>
              <SolidColorBrush Color="{DynamicResource BorderMediumColor}"/>
            </Border.BorderBrush>
            <ContentPresenter x:Name="PART_SelectedContentHost"
                              Margin="4"
                              ContentSource="SelectedContent" />
          </Border>
        </Grid>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>

Im folgenden Beispiel wird die Eigenschaft mithilfe der SelectedContentTemplateBinding-Markuperweiterung an die ContentPresenter.Content Eigenschaft gebunden.

<ContentPresenter Content="{TemplateBinding SelectedContent}" 
     ContentTemplate="{TemplateBinding SelectedContentTemplate}" 
     ContentTemplateSelector="{TemplateBinding SelectedContentTemplateSelector}" />

Hinweise

Diese Eigenschaft wird aktualisiert, um auf das Content aktive TabItem Objekt zu verweisen, wenn sich die Registerkartenauswahl ändert.

Die ControlTemplate Eigenschaft TabControl wird ContentPresenter.ContentSource verwendet, um die ContentPresenter.Content Eigenschaft an diese Eigenschaft zu binden. Wenn Sie eine neue ControlTemplate für die TabControlEigenschaft erstellen, stellen Sie sicher, dass die ContentPresenter.Content Eigenschaft an diese Eigenschaft gebunden wird, indem Sie die ContentPresenter.ContentSource Eigenschaft auf "SelectedContent" oder mithilfe der TemplateBinding-Markuperweiterung festlegen.

Verwendung von XAML-Attributen

<object property="{TemplateBinding SelectedContent}"/>

Informationen zur Abhängigkeitseigenschaft

Element Wert
Bezeichnerfeld SelectedContentProperty
Auf Metadateneigenschaften festgelegt true Nichts

Gilt für: