Freigeben über


TabControl.SelectedContentTemplateSelector Eigenschaft

Definition

Ruft das DataTemplateSelector des derzeit ausgewählten Elements 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

Der DataTemplateSelector des derzeit ausgewählten Elements. Der Standardwert ist null.

Beispiele

Im folgenden Beispiel wird ein ControlTemplate für erstellt TabControl. Wenn Sie die ContentSource Eigenschaft auf festlegen, "SelectedContent" werden Aliase auf die SelectedContentEigenschaften , SelectedContentTemplateund SelectedContentTemplateSelector 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 SelectedContentTemplateSelector -Eigenschaft mithilfe der ContentPresenter.ContentTemplateSelectorTemplateBinding-Markuperweiterung an die -Eigenschaft gebunden.

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

Hinweise

Die TabControl aktualisiert diese Eigenschaft so, dass sie auf den für den DataTemplateSelector Aktiven TabItem verweist, wenn sich die Registerkartenauswahl ändert. Legen Sie TabControl.ContentTemplateSelector oder die ContentTemplateSelector -Eigenschaft für ein TabItem fest, um für DataTemplateSelector anzugeben TabItem.

Der ControlTemplate von TabControl verwendet die ContentPresenter.ContentSource -Eigenschaft, um die ContentPresenter.ContentTemplateSelector -Eigenschaft an diese Eigenschaft zu binden. Wenn Sie einen neuen ControlTemplate für TabControlerstellen, stellen Sie sicher, dass die Eigenschaft an diese Eigenschaft gebunden wird, indem Sie die ContentPresenter.Content Eigenschaft auf "SelectedContent" festlegen ContentPresenter.ContentSource oder die TemplateBinding Markup Extension verwenden.

Verwendung von XAML-Attributen

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

Informationen zur Abhängigkeitseigenschaft

Bezeichnerfeld SelectedContentTemplateSelectorProperty
Metadateneigenschaften auf true festgelegt Keine

Gilt für: