Ejemplo de ControlTemplate de TabControl
Actualización: noviembre 2007
Los controles de Windows Presentation Foundation (WPF) tienen un objeto ControlTemplate que contiene el árbol visual de ese control. Puede modificar el aspecto de la estructura y la apariencia de un control modificando el objeto ControlTemplate de ese control. No existe ningún modo de reemplazar únicamente una parte del árbol visual de un control; para modificar el árbol visual de un control, debe establecer la propiedad Template del control en su nuevo y completo objeto ControlTemplate.
En este tema se muestra el objeto ControlTemplate del control TabControl de WPF.
Este tema contiene las secciones siguientes.
- Requisitos previos
- Ejemplo de ControlTemplate de TabControl
- Temas relacionados
Requisitos previos
Para ejecutar los ejemplos de este tema, debe saber cómo escribir aplicaciones de WPF. Para obtener más información, vea Información general sobre Windows Presentation Foundation. También debe saber cómo se utilizan los estilos en WPF. Para obtener más información, vea Aplicar estilos y plantillas.
Ejemplo de ControlTemplate de TabControl
Aunque este ejemplo contiene todos los elementos definidos en el objeto ControlTemplate de un objeto TabControl de manera predeterminada, los valores específicos deben tomarse como ejemplos.
<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>
<TabPanel
Name="HeaderPanel"
Grid.Row="0"
Panel.ZIndex="1"
Margin="0,0,4,-1"
IsItemsHost="True"
KeyboardNavigation.TabIndex="1"
Background="Transparent" />
<Border
Name="Border"
Grid.Row="1"
Background="{StaticResource WindowBackgroundBrush}"
BorderBrush="{StaticResource SolidBorderBrush}"
BorderThickness="1"
CornerRadius="2"
KeyboardNavigation.TabNavigation="Local"
KeyboardNavigation.DirectionalNavigation="Contained"
KeyboardNavigation.TabIndex="2" >
<ContentPresenter
Name="PART_SelectedContentHost"
Margin="4"
ContentSource="SelectedContent" />
</Border>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground" Value="{StaticResource DisabledForegroundBrush}" />
<Setter TargetName="Border" Property="BorderBrush" Value="{StaticResource DisabledBorderBrush}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
En el ejemplo anterior se utilizan los siguientes recursos.
<SolidColorBrush x:Key="WindowBackgroundBrush" Color="#FFF" />
...
<SolidColorBrush x:Key="SolidBorderBrush" Color="#888" />
...
<SolidColorBrush x:Key="DisabledForegroundBrush" Color="#888" />
...
<SolidColorBrush x:Key="DisabledBorderBrush" Color="#AAA" />
Para obtener el ejemplo completo, vea Ejemplo Styling with ControlTemplates.
Vea también
Conceptos
Instrucciones para el diseño de controles con estilos
Ejemplo de ControlTemplate de TabItem