Come faccio ad aggiungere margini orizzontali ai miei TabItems WPF senza tagliare la linguetta?

StackOverflow https://stackoverflow.com/questions/461748

  •  19-08-2019
  •  | 
  •  

Domanda

I miei TabItems prima di tentare di applicare un margine sinistro di 10 sembrano:

alt text

Dopo aver tentato di applicare il margine sinistro di 10 alla scheda blu, la scheda blu viene tagliata come:

alt text

Come posso farlo correttamente?

È stato utile?

Soluzione

Esistono alcuni modi per procedere, ma la cosa più semplice da fare è personalizzare semplicemente il contenuto di TabItem.Header in questo modo:

    <TabControl Margin="29,29,25,23" Name="tabControl1">
        <TabItem Name="tabItem1">
            <TabItem.Header>
                <TextBlock Margin="20,0,20,0">tabItem1</TextBlock>
            </TabItem.Header>
        </TabItem>
        <TabItem  Name="tabItem2">
            <TabItem.Header>
                <TextBlock Margin="20,0,20,0">tabItem2</TextBlock>
            </TabItem.Header>
        </TabItem>
        <TabItem Header="tabItem3" Name="tabItem3">
            <Grid />
        </TabItem>
    </TabControl>

Se avessi intenzione di farlo per ogni scheda, e probabilmente dovresti, prenderei in considerazione l'uso di uno stile per applicare questi margini.

Altri suggerimenti

Suppongo che tu abbia una larghezza impostata nella scheda blu. Quando aggiungi un margine, una parte della larghezza viene assorbita dal margine, quindi parte della scheda viene tagliata. Rimuovi l'attributo Width e prova invece a utilizzare Padding.

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