Domanda

Il comportamento predefinito del WPF TabControl è quello di posizionare le intestazioni Tab adiacenti l'uno all'altro, senza alcun spazio vuoto tra. Che cosa succede se ho voluto specificare un divario tra le intestazioni? Devo definire un modello di controllo per questo? Sono relativamente nuovo per il PAM e ogni aiuto è apprezzato.

Grazie

È stato utile?

Soluzione

Credo che sarà necessario definire un modello di controllo personalizzato per l'TabItem, forse anche uno per il TabControl. Ecco un esempio di TabItem che utilizza un distanziatore per una certa separazione.

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

Si spera che è una spinta nella giusta direzione; sarà ancora bisogno di aggiungere che come una risorsa stile e farvi riferimento dal vostro TabControl -.> TabItem

Altri suggerimenti

E 'facile per aggiungere spazio facendolo nella finestra di progettazione. Selezionare la scheda che si desidera spostare, iniziando con la scheda più a destra. Poi tenere premuto Ctrl e utilizzare il tasto freccia destra per spostare la scheda a destra. Fate lo stesso con il resto delle schede. Quindi è possibile regolare manualmente il margine nel codice XAML.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top