¿Cómo doy estilo al borde de control de pestaña para que el elemento de pestaña seleccionado no tenga una línea debajo?Pestaña Elemento y control de pestaña Estilo de borde
Estos son mi control Tab y Tab Estilos de elementos hasta el momento.
<!-- Tab control styling -->
<Style TargetType="{x:Type TabControl}">
<Setter Property="Padding" Value="10,5,10,5" />
<Setter Property="Margin" Value="3.5" />
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlLightBrushKey}}" />
</Style>
<!-- Tab item styling -->
<Style TargetType="{x:Type TabItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabItem}">
<Grid>
<Border
Name="Border"
Background="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"
BorderBrush="Black"
BorderThickness="1,1,1,0"
CornerRadius="3,3,0,0"
MinWidth="120">
<ContentPresenter x:Name="ContentSite"
VerticalAlignment="Center"
HorizontalAlignment="Center"
ContentSource="Header"
Margin="12,2,12,2"/>
</Border>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsFocused" Value="True" >
<Setter Property="Background" TargetName="Border" Value="{DynamicResource {x:Static SystemColors.ControlLightBrushKey}}" />
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock FontWeight="Bold" Text="{Binding}"/>
</DataTemplate>
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="IsMouseOver" Value="True" >
<Setter Property="Background" TargetName="Border" Value="{DynamicResource {x:Static SystemColors.ControlLightBrushKey}}" />
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock FontWeight="Bold" Text="{Binding}"/>
</DataTemplate>
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="IsSelected" Value="True" >
<Setter Property="Background" TargetName="Border" Value="{DynamicResource {x:Static SystemColors.ControlLightBrushKey}}" />
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock FontWeight="Bold" Text="{Binding}"/>
</DataTemplate>
</Setter.Value>
</Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Si puedo lograr el aspecto que aparece en la pantalla sin tener que sobrecargar la plantilla de control elemento de ficha a continuación, no tengo un problema ya que la plantilla de elementos pestaña predeterminada no tiene la línea por debajo de ella en el pestaña seleccionada No he podido hacer esto hasta ahora. Gracias por tu ayuda.
Creo que la única opción que tienes es para sobrescribir la plantilla tabcontrol –
Gracias por su comentario. Sí, probablemente tenga que sobrecargar la plantilla de tabcontrol. Simplemente no sé cómo dibujaría la línea superior del borde del tabcontrol para que tenga una línea, pero esa línea no es visible debajo del tabitem seleccionado. Tal vez la plantilla de tabitem podría superponer el control de tabulación en 1 píxel, lo que me permite controlar la visibilidad de línea de borde inferior de tabitem a través de la plantilla de tabitem. Actualmente no estoy seguro de qué hará xaml para que parezca como si fuera posible. – dior001