Ok, j'utilise la grille pour lister divers contenus. Comment puis-je obtenir des colonnes spécifiques à redimensionner alors que d'autres restent fixes. C'est-à-dire que la forme apparaît avec des tailles de colonnes initiales spécifiques pour les contrôles ... si l'utilisateur REDUIT le formulaire ... je veux que certains champs de type 'mémo' se développent. Comment faire ça? Il semble que je puisse seulement obtenir que toutes les 'secondes' colonnes augmentent en hauteur ... pas seulement 1 (la dernière) ... ou des colonnes spécifiques.WPF - Redimensionnement des colonnes et des lignes dans une grille
Merci pour toute aide !!
Voici la mise en page ... comment puis-je redimensionner le texte 'long' avec le redimensionnement de la forme, et garder le bouton collé au bas du formulaire ??? tx
<DockPanel VerticalAlignment="Top">
<Grid DockPanel.Dock="Top" VerticalAlignment="Top" HorizontalAlignment="Stretch" Grid.Column="0" Margin="10,10,10,10" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition MinWidth="150" ></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition MinHeight="80" Height="Auto"></RowDefinition>
<RowDefinition ></RowDefinition>
</Grid.RowDefinitions>
<Label Grid.Column="0" Grid.Row="0" Content="Test1"/>
<Label Grid.Column="0" Grid.Row="1" Content="Test2 -Long notes"/>
<Label Grid.Column="0" Grid.Row="2" Content="Test3"/>
<TextBox Height="Auto" Grid.Column="1" Grid.Row="0" />
<TextBox Height="Auto" Grid.Column="1" Grid.Row="1" TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Auto" />
<TextBox Height="Auto" Grid.Column="1" Grid.Row="2" />
</Grid>
<StackPanel DockPanel.Dock="Bottom" Orientation="Horizontal" HorizontalAlignment="Right" MinHeight="20" Margin=" 0,0,10,10">
<Button Content="OK" Margin="0,0,10,0" Width="75" IsDefault="True"/>
<Button Content="Cancel" Width="75" IsCancel="True" />
</StackPanel>
</DockPanel>
(ajouté après le 1er « réponse ») Maintenant, si je retire le StackPanel bas (Ok, boutons Annuler) sur l'équation pour rendre cela plus facile et je régler la 1ère et 2ème lignes à une valeur fixe ... j'ai l'impression d'être capable de faire fonctionner ça (je ne veux pas avoir à régler une hauteur maximale) ... oh et j'ai besoin de changer l'alignement vertical pour 'étirer'. Mais dès que je l'ajoute StackPanel pour les boutons à nouveau ... l'étirement ne fonctionne plus ... donc est ici la prochaine version révisée ...
<DockPanel VerticalAlignment="Stretch">
<Grid DockPanel.Dock="top" VerticalAlignment="Stretch" Grid.Column="0" Margin="10,10,10,10" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition MinWidth="150" Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition MaxHeight="30"></RowDefinition>
<RowDefinition MinHeight="80" Height="*"></RowDefinition>
<RowDefinition MaxHeight="30"></RowDefinition>
</Grid.RowDefinitions>
<Label Grid.Column="0" Grid.Row="0" Content="Test1"/>
<Label Grid.Column="0" Grid.Row="1" Content="Test2 -Long notes"/>
<Label Grid.Column="0" Grid.Row="2" Content="Test3"/>
<TextBox Grid.Column="1" Grid.Row="0" />
<TextBox Grid.Column="1" Grid.Row="1" TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Auto" />
<TextBox Grid.Column="1" Grid.Row="2" />
</Grid>
<StackPanel DockPanel.Dock="Bottom" VerticalAlignment="Bottom" HorizontalAlignment="Right" Orientation="Horizontal" MinHeight="20" Margin=" 0,0,10,10">
<Button Content="OK" Margin="0,0,10,0" Width="75" IsDefault="True"/>
<Button Content="Cancel" Width="75" IsCancel="True" />
</StackPanel>
</DockPanel>
Je suis toujours des problèmes ...
Salut, merci de répondre. Problème Voici comment spécifier la hauteur de redimensionnement de NO sur toutes les lignes sauf une certaine. * est uniquement pris en charge pour la définition de colonne et la définition de ligne, alors comment pouvez-vous obtenir une section transversale? 2e rangée, 2e col pour agir uniquement de cette façon. Comme le montre l'exemple, les boutons du bas ne collent pas vers le bas, ET la dernière rangée, la dernière col ne se redimensionne pas. remplacer l'auto par '*' n'aide pas. – appWoW
J'ai révisé l'exemple de code ci-dessus ... mais j'ai toujours des problèmes. – appWoW
Salut appWow. Je me suis un peu perdue avec ce que vous essayez de faire ici. Spécifier le redimensionnement de NO, sauf pour un signifie que cette ligne et cette seule ligne ont Height = "*". Cela est différent du dimensionnement des cellules individuelles dans la grille - la meilleure façon de le faire est d'imbriquer une grille dans l'autre et d'utiliser la taille des étoiles sur cette cellule (2ème rangée, 2ème Col). Largeur = "*". HTH – Berryl