Come faccio ad aggiungere margini orizzontali ai miei TabItems WPF senza tagliare la linguetta?
-
19-08-2019 - |
Domanda
I miei TabItems prima di tentare di applicare un margine sinistro di 10 sembrano:
Dopo aver tentato di applicare il margine sinistro di 10 alla scheda blu, la scheda blu viene tagliata come:
Come posso farlo correttamente?
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.