WPF: Zone dynamique de la hauteur
J'ai une zone de texte et la grille de données à l'intérieur d'un dockpanel qui est en WPF zone.
<GroupBox Margin="8,142.04,1.783,230.4" Height="Auto" Header="Desired Meeting Outcomes (decisions or actions)?" MaxWidth="635" MinWidth="550" FontWeight="Bold" FontSize="13.333" BorderBrush="#FFD5DFE5" MinHeight="106" VerticalContentAlignment="Stretch">
<DockPanel Margin="0">
<local:TextboxControl Margin="0" d:LayoutOverrides="Height, HorizontalMargin" Width="538.217" VerticalAlignment="Top" HorizontalAlignment="Left" DockPanel.Dock="Top"/>
<local: Height="Auto" HorizontalAlignment="Left" MinHeight="25" MinWidth="538" DockPanel.Dock="Top"/>
</DockPanel>
</GroupBox>
Je suis l'ajout de lignes dans la grille de données dynmaically de la zone de texte provoquant la grille de données de croître. Cependant, ma zone, la hauteur n'est pas une évolution dynamique, même si sa hauteur est réglée sur Auto. Comment puis-je obtenir ma zone pour augmenter ou diminuer en fonction de la taille du contenu qu'il détient?
OriginalL'auteur Rick Make | 2010-02-27
Vous devez vous connecter pour publier un commentaire.
Vous avez les marges sur les 4 côtés avec un VerticalAlignment de s'Étirer. Dans une Grille, ce sera essentiellement vous donner une Zone que les tailles avec son parent, mais pas son contenu. Supprimer la marge de droite et de bas et changer le VerticalAlignment vers le Haut.
Les marges sont de l'ordre de L, T, R, B. Afin de remettre à zéro les deux derniers. Hauteur=Auto et VerticalContentAlignment=Étirement sont les valeurs par défaut de sorte que vous pouvez vous débarrasser de ces trop. Essayez de garder le XAML aussi propre que possible.
Il est clair à partir de la marge bénéficiaire que vous êtes à l'aide de Mélange ou de Visual Studio designer. Je vous recommande d'utiliser le concepteur de "preview" mode, plutôt que de l'édition. Même si il a obtenu beaucoup mieux, je trouve la mise en page du comportement du designer dans les deux produits pour être très frustrant. Se familiariser avec la création de XAML à la main verse des dividendes à long terme.
EXEMPLE
Que par les commentaires, je suis en ajoutant un exemple de la façon dont vous auriez un DataGrid qui provoque son parent éléments augmente automatiquement en fonction de la taille. Notez que la Fenêtre elle-même a une taille fixe. Pour une Fenêtre, si vous voulais la faire croître en fonction de la taille vous pouvez définir SizeToContent=Hauteur. Remarquez comment vous avez seulement besoin de définir VerticalAlignment=en Haut sur la plus externe de l'élément.
MainWindow.xaml
MainWindow.xaml.cs
Mon UserControl est hébergé dans une forme qui est une région adjacente de Outlook e-mail du formulaire. Dois-je créer un déclencheur lorsque la hauteur de l'objet usercontrol changements?
Oui, les Perspectives de la région ne redimensionne pas automatiquement. Vous devrez utiliser le code d'événement de le garder en synchronisation.
OriginalL'auteur Josh
Qu'est-ce que le récipient de la Zone ? Il pourrait l'empêcher de grandir.
Par exemple, si le conteneur est le Windows, a-t-elle SizeToContent="Hauteur" ?
OriginalL'auteur Timores