一、布局原则:

1、不应显示设置元素(如控件)的尺寸。

2、不应使用屏幕坐标指定元素的位置。

3、布局包容器和它们的子元素“共享”可以使用的空间。

4、布局包容器可以被嵌套。

二、布局的过程包括测量阶段和排列阶段。

三、继承关系:DispatcherObject—->DependencyObject—->Visual—–>UIElement—–>FrameworkElement—–>Panel   (DDVUFP)

四、Panel类的公有属性

Background 必须设置才能接收鼠标事件,可以设置透明。

Children 子元素集合

IsItemHost 表示在面板中显示一个ItemControl控件相关联的项,通常在自定义控件内部使用。

五、子元素的布局属性

Max/MinWidth Max/MinHeight优先级大于Width和Height,Width和Height表示控件期望显示的大小。ActualWidth和ActualHeight表示空间实际渲染的尺寸。

可以设置窗口的Window.SizeToContent属性来使窗口适应控件的大小。

六、GridSplitter控件,可以动态地改变Grid的行宽和列宽。

1、为GridSplitter预留一行或一列;

2、改变行时,需要设置高度,并将VerticalAlignment设置为Center,HorizonalAlignment设置为Stretch

      改变列时,需要设置宽度,并将HorizonalAlignment设置为Center,VerticalAlignment设置为Stretch

3、ShowPreview属性,表示拖动时是否时时渲染。

七、Grid共享尺寸组

上一级布局控件设置附加属性:Grid.IsSharedSizeScope设置为True。

在不同的两个行定义或列定义中使用SharedSizeGroup属性。

版权声明:本文为Markshome原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/Markshome/p/7742602.html