Pregunta

El comportamiento predeterminado de la WPF TabControl es colocar los encabezados Tab adyacentes entre sí, sin ningún espacio vacío en el medio. Lo que si quería especificar una brecha entre las cabeceras? ¿Hay que definir una plantilla de control para esto? Soy relativamente nuevo en el PMA y cualquier ayuda se agradece.

Gracias

¿Fue útil?

Solución

Creo que tendrá que definir una plantilla de control personalizado para el TabItem, tal vez incluso una para el TabControl. Aquí está un ejemplo de una TabItem que utiliza un espaciador para una cierta separación.

<Style
    x:Key="SpacedTab"
    TargetType="{x:Type TabItem}">
    <Setter
        Property="Template">
        <Setter.Value>
            <ControlTemplate
                TargetType="{x:Type TabItem}">
                <Border
                    x:Name="Spacer"
                    Width="Auto"
                    Height="Auto"
                    Padding="0 0 5 0"
                    Margin="0 0 0 0"
                    BorderBrush="Transparent"
                    BorderThickness="0">
                    <Border
                        x:Name="Border"
                        MinWidth="150"
                        Width="Auto"
                        Height="30"
                        Background="Gray"
                        BorderBrush="DarkGray"
                        BorderThickness="0,0,0,0"
                        CornerRadius="6,6,0,0"
                        Cursor="Hand"
                        VerticalAlignment="Bottom">
                        <ContentPresenter
                            x:Name="ContentSite"
                            TextElement.FontSize="10pt"
                            TextElement.FontFamily="Arial"
                            TextElement.Foreground="Black"
                            VerticalAlignment="Center"
                            HorizontalAlignment="Center"
                            ContentSource="Header"
                            Margin="8,3,8,3"
                            Width="Auto"
                            Height="Auto" />
                    </Border>
                </Border>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

Con suerte que es un empujón en la dirección correcta; usted todavía tendrá que añadir que como un recurso de estilo y hacer referencia a ella desde su TabControl -.> TabItem

Otros consejos

Es fácil de añadir espacio por hacerlo en el diseñador. Seleccione la ficha que desea mover, comenzando con la ficha más a la derecha. A continuación, mantenga Ctrl y utilice la tecla de flecha derecha para mover la lengüeta hacia la derecha. Hacer lo mismo con el resto de las pestañas. A continuación, puede ajustar manualmente el margen en el código XAML.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top