Pergunta

O comportamento padrão do WPF tabControl consiste em colocar a guia cabeçalhos adjacentes uns aos outros, sem qualquer espaço vazio entre eles. E se eu quisesse para especificar uma lacuna entre os cabeçalhos? Eu tenho que definir um modelo de controle para isso? Eu sou relativamente novo para o PMA e qualquer ajuda é apreciada.

Graças

Foi útil?

Solução

Eu acredito que você precisará definir um modelo de controle personalizado para o TabItem, talvez até mesmo um para o TabControl. Aqui está um exemplo de um TabItem que usa um espaçador para alguma separação.

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

Esperamos que é uma cutucada na direção certa; você ainda vai precisar de acrescentar que como um recurso de estilo e referenciá-lo de seu TabControl -.> TabItem

Outras dicas

É fácil de adicionar espaço ao fazê-lo no designer. Selecione a guia que você deseja mover, começando com a guia mais à direita. Em seguida, segure Ctrl e usar a seta para a direita para mover a guia para a direita. Faça o mesmo com o resto das guias. Depois, você pode ajustar manualmente a margem no código XAML.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top