How to anchor controls in WPF?

Joan Venge picture Joan Venge · Mar 4, 2011 · Viewed 82.4k times · Source

I have a a TreeView that fills the top part of the application, but since the number of items in the TreeView changes, my Apply button changes its position vertically. Is there a way to anchor it to the bottom part of the window, so it's always on the right bottom part of the window, i.e. 10x10 distance from the right bottom edge.

Answer

benPearce picture benPearce · Mar 4, 2011

You can either set the HorizontalAlignment and VerticalAlignment on the TreeView or Button (I cannot tell which control you are trying to anchor), or you could place the control inside a DockPanel.

To space the control away from others use the Margin.

Margin="0 0 10 10"

will give you the margin only on the right and bottom

I hope this makes it a bit clearer:

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