How to anchor controls in WPF?

做~自己de王妃 提交于 2019-12-18 11:41:30

问题


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.


回答1:


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>



回答2:


To achieve anchoring, Set following properties:

  • Width="auto"
  • Height="auto"
  • VerticalAlignment="Stretch"
  • HorizontalAlignment="Stretch"
  • Set margins as needed.

Example:

    <TabControl

        Name="tabControl1"

        HorizontalAlignment="Stretch" 

        Margin="40,40,40,40"  

        Width="auto" 

        Height="auto" 

        VerticalAlignment="Stretch">



回答3:


I think you need this in the XAML of your button:

HorizontalAlignment="Right" VerticalAlignment="Bottom"


来源:https://stackoverflow.com/questions/5188586/how-to-anchor-controls-in-wpf

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!