Поделиться через


TabControl.SelectedContentTemplate Свойство

Определение

DataTemplate Возвращает выбранный в данный момент элемент.

public:
 property System::Windows::DataTemplate ^ SelectedContentTemplate { System::Windows::DataTemplate ^ get(); };
public System.Windows.DataTemplate SelectedContentTemplate { get; }
member this.SelectedContentTemplate : System.Windows.DataTemplate
Public ReadOnly Property SelectedContentTemplate As DataTemplate

Значение свойства

Выбранный DataTemplate элемент.

Примеры

В следующем примере создается ControlTemplate объект для TabControl. ContentSource Задание свойства для "SelectedContent" создания псевдонимов SelectedContentдля свойств SelectedContentTemplateи SelectedContentTemplateSelector свойств.

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

В следующем примере свойство привязывается SelectedContentTemplate к ContentPresenter.ContentTemplate свойству с помощью расширения разметки TemplateBinding.

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

Комментарии

Это TabControl свойство обновляется, чтобы ссылаться на DataTemplate активный TabItem при изменении выбора вкладки. Задайте TabControl.ContentTemplate или ContentTemplate свойство для TabItem указания DataTemplate значения TabItem.

TabControl Свойство ControlTemplate используется ContentPresenter.ContentSource для привязки ContentPresenter.ContentTemplate свойства к этому свойству. Если вы создаете новое ControlTemplate для TabControlсвойства, обязательно привязать ContentPresenter.Content свойство к этому свойству, задав ContentPresenter.ContentSource для свойства значение SelectedContent или с помощью расширения разметки TemplateBinding.

Использование атрибута XAML

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

Сведения о свойстве зависимостей

Элемент Ценность
Поле идентификатора SelectedContentTemplateProperty
Свойства метаданных, равные свойству true Нет

Применяется к