2010-10-12 3 views
2

J'ai une simple application WPF Forms. J'ai un DockPanel comme panneau de base. Le premier enfant est un StackPanel qui contient des contrôles, puis le second contrôle est un TabControl. Ce que je veux, et les types de panneaux peuvent changer tout ce qu'ils veulent, c'est que TabControl maintienne la taille de remplissage de la fenêtre sauf pour ce que le premier StackPanel consomme. Cependant, peu importe ce que j'essaie le TabControl semble changer sa taille en fonction de ce qui est à l'intérieur, pas ce qu'il est à l'intérieur de.Comment dimensionner automatiquement TabControl dans un DockPanel - WPF

<Window> 
    <DockPanel> 
     <StackPanel> </StackPanel> 
     <TabControl> </TabControl> 
    </DockPanel> 
</Window> 

Répondre

7

Il suffit de définir les propriétés HorizontalAlignment et VerticalAlignment de votre TabControl "Stretch":

<DockPanel> 
    <StackPanel DockPanel.Dock="Bottom" Orientation="Horizontal" Margin="5"> 
     <TextBlock Text="Hello" /> 
     <TextBlock Text="World" /> 
    </StackPanel> 

    <TabControl HorizontalAlignment="Stretch" 
       VerticalAlignment="Stretch"> 
     <TabItem Header="Small"> 
      <TextBlock Text="Just Some Small Stuff" /> 
     </TabItem> 
     <TabItem Header="Bigger"> 
      <StackPanel> 
       <TextBlock Text="One line" /> 
       <TextBlock Text="The next line" /> 
      </StackPanel> 
     </TabItem> 

    </TabControl> 
</DockPanel> 
+0

Eh bien, comment cela. Cela fonctionne très bien. Si j'avais tripoté assez longtemps, je l'aurais compris, mais à vrai dire, je suis plus un web mec qu'un mec WPF/XAML! Merci! – CrazyDart

+0

Pas de problème. Je suis plutôt un gars de WPF/XAML. ;) –