web-dev-qa-db-fra.com

Comment ancrer les contrôles dans WPF?

J'ai un TreeView qui remplit la partie supérieure de l'application, mais comme le nombre d'éléments dans le TreeView change, mon bouton Appliquer change sa position verticalement. Existe-t-il un moyen de l'ancrer dans la partie inférieure de la fenêtre, de sorte qu'il se trouve toujours dans la partie inférieure droite de la fenêtre, c'est-à-dire à une distance de 10 x 10 du bord inférieur droit.

33
Joan Venge

Vous pouvez soit définir HorizontalAlignment et VerticalAlignment sur TreeView ou Button (je ne peux pas dire quel contrôle vous essayez d'ancrer), ou vous pouvez placer le contrôle à l'intérieur d'un DockPanel.

Pour espacer le contrôle des autres, utilisez la marge.

Margin="0 0 10 10"

vous donnera la marge uniquement à droite et en bas

J'espère que cela le rend un peu plus clair:

<Window>   
  <DockPanel VerticalAlignment="Stretch">
    <TreeView DockPanel.Dock="Top" />
    <Button DockPanel.Dock="Bottom" Margin="0 0 10 10" />   
  </DockPanel>
</Window>
37
benPearce

Pour réaliser l'ancrage, définissez les propriétés suivantes:

  • Largeur = "auto"
  • Hauteur = "auto"
  • VerticalAlignment = "Stretch"
  • HorizontalAlignment = "Stretch"
  • Définissez les marges selon vos besoins.

Exemple:

    <TabControl

        Name="tabControl1"

        HorizontalAlignment="Stretch" 

        Margin="40,40,40,40"  

        Width="auto" 

        Height="auto" 

        VerticalAlignment="Stretch">
30
Aditya Bokade

Je pense que vous en avez besoin dans le XAML de votre bouton:

HorizontalAlignment="Right" VerticalAlignment="Bottom"
6
Tiago Ribeiro