Ce code:
<StackPanel Orientation="Horizontal">
<RichTextBox />
<Button Content="Dialog" />
</StackPanel>
affiche le bouton quelque part sur le côté gauche de StackPanel SUR la RichTextBox, POURQUOI?
edit: Oh, je viens de voir que c'est un problème de largeur. La RTB n'a presque pas de largeur et le bouton est à sa droite.
edit: il semble que je rencontre ce bug: WPF RichTextBox sans largeur définie
la solution ne fonctionne pas pour moi!
Réponses:
1 pour la réponse № 1Il serait préférable d’utiliser une grille et les propriétés HorizontalAlignment (et VerticalAlignment) du RTB.
<Grid HorizontalAlignment="Stretch"
VerticalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<RichTextBox HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
<Button Grid.Column="1"
Content="Dialog"
HorizontalAlignment="Right"
VerticalAlignment="Bottom" />
</Grid>
0 pour la réponse № 2
La disposition de votre code devrait être quelque chose comme:
<StackPanel Margin="105,73,124,54" Orientation="Horizontal">
<RichTextBox Width="312" />
<Button Content="Dialog" VerticalAlignment="Bottom" Height="56" />
</StackPanel>
Vous devez dimensionner chaque élément (contrôle) individuellement, sinon vous obtenez une mise en page similaire à celle que vous aviez initialement (tous mélangés et écrasés ensemble).
0 pour la réponse № 3
Désolé, j'ai oublié de mentionner, si vous regardez lePanneau "Disposition" (pour la RichTextBox), une flèche vers le bas s’affiche en bas. cliquez dessus pour ouvrir les "options avancées". Dans celui-ci, vous souhaitez définir votre "HorizontalContentAlignment et votre VertialContentAlignment" sur étirement. (Les 2 dernières options pour chaque).
Je suis désolé de laisser cela. ma faute. :)