Comment faire des articles dans un DockPanel développer pour s'adapter à l'espace disponible de la WPF?
J'ai un StackPanel
contenant un StackPanel
et quelques autres éléments. La première StackPanel
a une orientation verticale, l'intérieur a une orientation horizontale. L'intérieur a une TreeView
et un ListView
, je voudrais élargir et de s'adapter à la largeur de la fenêtre, que j'ai mis par la fenêtre et autoriser l'utilisateur à modifier. Je tiens également à l'extérieur StackPanel
pour s'adapter à la hauteur de la fenêtre. Comment puis-je faire cela?
Edit:
J'ai converti à l'aide d'un DockPanel
, et j'ai mis le DockPanel.Dock
propriétés correctement dans chacun des éléments, et que vous avez désactivé LastChildFill
dans les deux dockpanels, la mise en page n'est toujours pas extensible.
Le Code:
<Window x:Class="Clippy.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="400" Width="600" MinHeight="400" MinWidth="600" Loaded="Window_Loaded" SizeChanged="Window_SizeChanged">
<DockPanel Name="wrapperDockPanel" LastChildFill="False">
<Menu Height="22" Name="mainMenu" Width="Auto" DockPanel.Dock="Top" />
<ToolBar Height="26" Name="mainToolBar" Width="Auto" DockPanel.Dock="Top" />
<DockPanel Height="Auto" Name="contentDockPanel" DockPanel.Dock="Top" LastChildFill="False">
<TreeView Name="categoryTreeView" />
<ListView Name="clipListView" />
</DockPanel>
<StatusBar Height="23" Name="mainStatusBar" DockPanel.Dock="Top" />
</DockPanel>
</Window>
Pourquoi avez-vous mis LastChildFill="False" ? La valeur par défaut de la Vraie voudrais faire la liste de remplir l'espace.
D'accord avec Henk trop...
OriginalL'auteur LM. | 2009-06-11
Vous devez vous connecter pour publier un commentaire.
Cela devrait le faire - je le configurer de sorte que le TreeView et la liste partagée de la vue principale 50/50; si vous ne voulez pas que, mettre la valeur 'Auto' et '*' ou quelque chose. Utiliser "LastChildFill" à votre avantage!
OriginalL'auteur Paul Betts
Utiliser un DockPanel à la place. StackPanel explicitement n'est pas visible de l'espace, alors que DockPanel fait tout c'est le calcul de la taille en fonction de l'espace disponible.
Mise à jour:
En plus, dans mon expérience, mettant le corps de la fenêtre en Vue, et seul le fait d'avoir la Vue dans la Fenêtre permet une meilleure Automatique de la Taille de l'expérience.
Pour une raison de mettre tous les enfants directement dans la Fenêtre semble pas automatique taille très bien.
Mise à jour 2:
Je voudrais supprimer l'explicite DockPanel.Quai de l'attribut de l'élément que vous voulez étirer (remplissage) de l'espace non utilisé.
OriginalL'auteur John Weldon
Définir la largeur et la hauteur propriétés "auto"
OriginalL'auteur Jason Watts