TabControl.SelectedContentTemplateSelector Özellik

Tanım

DataTemplateSelector Seçili durumdaki öğenin öğesini alır.

public System.Windows.Controls.DataTemplateSelector SelectedContentTemplateSelector { get; }

Özellik Değeri

Seçili DataTemplateSelector durumdaki öğenin öğesi. Varsayılan değer: null.

Örnekler

Aşağıdaki örnek için TabControlbir ControlTemplate oluşturur. özelliğini ayarlayıp ContentSource"SelectedContent" , SelectedContentTemplateve SelectedContentTemplateSelector özellikleri için SelectedContentdiğer adlar oluşturur.

<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>

Aşağıdaki örnek, TemplateBinding biçimlendirme uzantısınıContentPresenter.ContentTemplateSelector kullanarak özelliği özelliğine bağlarSelectedContentTemplateSelector.

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

Açıklamalar

Bu özellik, TabControl sekme seçimi değiştiğinde etkin TabItem için öğesine başvurmak DataTemplateSelector üzere güncelleştirir. ContentTemplateSelector için öğesini belirtmek DataTemplateSelector için TabItemveya üzerindeki özelliğini TabItem ayarlayınTabControl.ContentTemplateSelector.

ControlTemplate öğesinin özelliğiTabControl, özelliği bu özelliğe bağlamak ContentPresenter.ContentTemplateSelector için özelliğini kullanırContentPresenter.ContentSource. için TabControlyeni ControlTemplate bir oluşturursanız, özelliği "SelectedContent" olarak ayarlayarak ContentPresenter.ContentSource veya TemplateBinding biçimlendirme uzantısını kullanarak özelliği bu özelliğe bağladığınızdan ContentPresenter.Content emin olun.

XAML Öznitelik Kullanımı

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

Bağımlılık Özelliği Bilgileri

Tanımlayıcı alanı SelectedContentTemplateSelectorProperty
Meta veri özellikleri olarak ayarlandı true Hiçbiri

Şunlara uygulanır

Ürün Sürümler
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9