2017-09-27 16 views
0
<TabItem Header="Data Entry" 
     FontSize="40" 
     VerticalContentAlignment="Top" 
     HorizontalContentAlignment="Center" 
     VerticalAlignment="Center" 
     Height="75" 
     Width="300" 
     Background="#464646" 
     Foreground="White" 
     DataContext="{Binding Tabs[0]}"> 

    <Controls:DataEntryUserControl /> 

</TabItem> 

Mon TabItem est formé avec le code ci-dessus. Je souhaite que le texte de l'onglet ("Entrée de données") soit aligné sur le centre de l'onglet, mais je souhaite que le contrôle UserControl soit aligné en haut de la fenêtre. Cependant, ces deux alignements changent lorsque je règle VerticalContentAlignment (par exemple dans le code ci-dessus, les deux sont alignés au sommet de leurs parents respectifs). La propriété VerticalAlignment ne change rien.La définition de VerticalContentAlignment dans mon onglet WPF modifie à la fois le texte de l'onglet et le contrôle contenu dans l'onglet

Comment puis-je accomplir ceci?

+0

Avez-vous essayé ma suggestion? S'il vous plaît n'oubliez pas d'accepter la réponse si votre problème a été résolu: https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – mm8

+0

Je ne l'ai pas encore essayé, mais je vais dès que je peux! – user438461

Répondre

0

Définir un HeaderTemplate vous permet de spécifier l'alignement de l'en-tête:

<TabItem Header="Data Entry" 
      FontSize="40" 
      Height="75" 
      Width="300" 
      Background="#464646" 
      Foreground="White" 
      DataContext="{Binding Tabs[0]}"> 
    <TabItem.HeaderTemplate> 
     <DataTemplate> 
      <TextBlock Text="{Binding}" HorizontalAlignment="Center" /> 
     </DataTemplate> 
    </TabItem.HeaderTemplate> 

    <Controls:DataEntryUserControl /> 

</TabItem>