WPF中Grid容器中VerticalAlignment和HorizonAlignment和Margin的关系。

Posted 张东南

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF中Grid容器中VerticalAlignment和HorizonAlignment和Margin的关系。相关的知识,希望对你有一定的参考价值。

在WPF中,经常使用Grid容器,来布局我们想要显示的对象。

这就不可避免的要和布局在其中的控件的VerticalAlignment特性,HorizonAlignment特性,以及Margin特性打交道。

如果在Grid中放置了一个Rectangle控件,对Rectangle又设置了VerticalAlignment,HorizonAlignment,Margin,

这三者都是用来设置位置的,那么,它们是怎么来起效的呢?

1,如下图所示,如果为Rectangle设置了VerticalAlignment=Top,HorizonAlignment=Left ,Margin=“50,20”

将会显示为这个样子。Top表示在竖直方向上靠上(相对于Grid),Left表示在水平方向上靠左(相对于Grid)。

Margin中的50和20,分别表示距离Grid的左边界和上边界的距离为50,20。此时,再设置Marin的Right和Bottom,

是无效的,也就不要再写Margin后两位的值了。

 

2,如下图所示,如果为Rectangle设置了VerticalAlignment=Bottom,HorizonAlignment=Right ,Margin=“30,20”

将会显示为这个样子。Bottom表示在竖直方向上靠底部(相对于Grid),Right表示在水平方向上靠右(相对于Grid)。

Margin中的50和20,分别表示距离Grid的右边界和下边界的距离为30,20。此时再设置Margin的Left和Top的值,是无

效的,即使设置了,系统也会按照Margin的后两位值来布局。

通过以上两点可以看出,Grid容器中,还是以VerticalAlignment和HorizonAlignment的特性值为主,Margin

的特性值为辅。Marign的特性值,按照VerticalAlignment和HorizonAlignment的特性值,来起效。

本来自己就是一个方向感不强的人,俗称路痴,今天晚上豁然明白,与大家共享。

 

以上是关于WPF中Grid容器中VerticalAlignment和HorizonAlignment和Margin的关系。的主要内容,如果未能解决你的问题,请参考以下文章

WPF学习第八章 Grid面板

WPF中UserControl控件的关闭

在 WPF 中相对于其容器绘制对角文本/文本块/标签/控件

C# wpf怎么在grid添加自定义控件时显示滚动条

2021-08-17 WPF控件专题 Grid 控件详解

将 WPF 控件设置为扩展以填充可用空间,仅此而已