Freigeben über


TabControl.SelectedContentTemplateSelector Eigenschaft

Definition

Ruft das DataTemplateSelector aktuell ausgewählte Element ab.

public:
 property System::Windows::Controls::DataTemplateSelector ^ SelectedContentTemplateSelector { System::Windows::Controls::DataTemplateSelector ^ get(); };
public System.Windows.Controls.DataTemplateSelector SelectedContentTemplateSelector { get; }
member this.SelectedContentTemplateSelector : System.Windows.Controls.DataTemplateSelector
Public ReadOnly Property SelectedContentTemplateSelector As DataTemplateSelector

Eigenschaftswert

Das DataTemplateSelector aktuell ausgewählte Element. Der Standardwert lautet null.

Beispiele

Im folgenden Beispiel wird eine ControlTemplate für die TabControl. Festlegen der ContentSource Eigenschaft zum "SelectedContent" Erstellen von Aliasen für die SelectedContent, SelectedContentTemplateund SelectedContentTemplateSelector Eigenschaften.

<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 SelectedContentTemplateSelectorTemplateBinding-Markuperweiterung an die ContentPresenter.ContentTemplateSelector Eigenschaft gebunden.

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

Hinweise

Die TabControl Eigenschaft wird aktualisiert, um auf die DataTemplateSelectorTabItem aktive Eigenschaft zu verweisen, wenn sich die Registerkartenauswahl ändert. Legen Sie TabControl.ContentTemplateSelector die ContentTemplateSelector Eigenschaft für ein TabItem , um die DataTemplateSelector Eigenschaft für ein TabItem.

Die ControlTemplate Eigenschaft TabControl wird ContentPresenter.ContentSource verwendet, um die ContentPresenter.ContentTemplateSelector 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 Eigenschaft auf "SelectedContent" oder mithilfe der TemplateBinding-Markuperweiterung festlegenContentPresenter.ContentSource.

Verwendung von XAML-Attributen

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

Informationen zur Abhängigkeitseigenschaft

Element Wert
Bezeichnerfeld SelectedContentTemplateSelectorProperty
Auf Metadateneigenschaften festgelegt true Nichts

Gilt für: