TabControl.VerticalAlignment = Tronçon de ne pas faire n'importe quoi
Je suis en train de faire un TabControl pour redimensionner automatiquement en fonction de la de l'extérieur de l'espace(il est dans un StackPanel):
<Window x:Class="Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Height="100">
<Grid>
<StackPanel>
<TabControl
BorderBrush="Red"
BorderThickness="2"
VerticalAlignment="Stretch"
VerticalContentAlignment="Stretch">
<TabItem Header="Tab1"/>
<TabItem Header="Tab2"/>
</TabControl>
</StackPanel>
</Grid>
</Window>
L'extrait ci-dessus, produit de la fenêtre suivante, alors que je veux la bordure rouge pour atteindre le bas de la fenêtre:
OriginalL'auteur Shimmy | 2009-12-27
Vous devez vous connecter pour publier un commentaire.
Le problème, c'est votre
StackPanel
. StackPanels ne s'étire pas leurs enfants.Au lieu de cela, utilisez un
DockPanel
: Le dernier enfant sera étirée pour remplir l'espace restant (voir LastChildFill, qui est par défauttrue
).La définition explicite de
VerticalAlignment
est pas nécessaire, car sa valeur par défaut est déjàStretch
.Lien Connexe: Panneaux de vue d'ensemble sur le site MSDN
Très étrange... il fonctionne parfaitement bien sur ici: j'ai copier-coller le code ci-dessus dans un XAML fenêtre -> la bordure rouge s'étend sur la totalité de la fenêtre. Pourriez-vous essayer à nouveau?
Votre solution fonctionne. Malheureusement basés sur la sircumstances de mes fenêtres qu'il y a des parents qu'il n'a pas fonctionné. La solution à mon problème particulier a été son intégration dans une Grille de réglage de la ligne de hauteur à *. Merci à tous pour votre aide.
OriginalL'auteur Heinzi
Vous pouvez lier la hauteur de la fenêtre parent de la hauteur réelle.
OriginalL'auteur hebinda