Compartir vía


TabControl.SelectedContentTemplateSelector Propiedad

Definición

Obtiene el objeto DataTemplateSelector del elemento actualmente seleccionado.

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

Valor de propiedad

DataTemplateSelector

DataTemplateSelector del elemento seleccionado actualmente. De manera predeterminada, es null.

Ejemplos

En el ejemplo siguiente se crea un ControlTemplate para .TabControl Establecer la ContentSource propiedad en crea "SelectedContent" alias en las SelectedContentpropiedades , SelectedContentTemplatey 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>

En el ejemplo siguiente se enlaza la SelectedContentTemplateSelector propiedad a la ContentPresenter.ContentTemplateSelector propiedad mediante la extensión de marcado TemplateBinding.

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

Comentarios

Actualiza TabControl esta propiedad para hacer referencia a para el DataTemplateSelector elemento activo TabItem cuando cambia la selección de tabulación. Establezca TabControl.ContentTemplateSelector o la ContentTemplateSelector propiedad en para TabItem especificar para DataTemplateSelector .TabItem

de ControlTemplate TabControl utiliza la ContentPresenter.ContentSource propiedad para enlazar la ContentPresenter.ContentTemplateSelector propiedad a esta propiedad. Si crea un nuevo ControlTemplate para TabControl, asegúrese de enlazar la ContentPresenter.Content propiedad a esta propiedad estableciendo ContentPresenter.ContentSource la propiedad en "SelectedContent" o mediante la extensión de marcado TemplateBinding.

Uso de atributos XAML

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

Información sobre propiedades de dependencia

Campo identificador SelectedContentTemplateSelectorProperty
Propiedades de metadatos establecidas en true Ninguno

Se aplica a