一、DockPanel:泊靠式面板
1、DockPanel定义一个区域,在此区域中,您可以使子元素通过描点的形式排列,这些对象位于 Children 属性中。
2、DockPanel会对每个子元素进行排序,并将根据指定的边进行停靠,多个停靠在同侧的元素则按顺序排序。
3、在DockPanel中,指定停靠边的控件,会根据定义的顺序占领边角,所有控件绝不会交叠。
比喻:
①、填充整个剩余空间
看图中1号与2号交界处,因为1号代码在先,所以2号只能从一号的交界处开始,2号与3号也同理。4号为什么会最后填充整个剩余空间,以为DockPanel的默认属性LastChildFill为true,那怎样不让它填充最后整个剩余空间呢?看下题②。
②、最后元素不填充剩余空间
看图中涂有黄色的部分,很简单就是把DockPanel的属性LastChildFill改为false
二、StackPanel:栈式面板
StackPanel就是将控件按照行或列来顺序排列,但不会换行。
通过设置面板的Orientation属性设置了两种排列方式:横排(Horizontal)和竖排(Vertical默认的)。
1、水平排列时,每个元素都与面板一样高;
2、垂直排列时,每个元素都与面板一样宽。如果包含的元素超过了面板空间,它只会截断多出的内容。
①下面我们来看看按钮竖向布局的例子
②下面我们来看看按钮横向布局的例子
③水平布局时,在StackPanel加一个属性FlowDirection="RightToLeft"按钮就会从左至右开始排布
这是我所学到的C#XAML,分享给你们,希望可以帮助到你们。
新手上道,请多多指教,大神勿喷。如果有更好的方法或不懂得地方欢迎在评论区教导和提问喔,
谢谢!
1、DockPanel定义一个区域,在此区域中,您可以使子元素通过描点的形式排列,这些对象位于 Children 属性中。
2、DockPanel会对每个子元素进行排序,并将根据指定的边进行停靠,多个停靠在同侧的元素则按顺序排序。
3、在DockPanel中,指定停靠边的控件,会根据定义的顺序占领边角,所有控件绝不会交叠。
比喻:
①、填充整个剩余空间
看图中1号与2号交界处,因为1号代码在先,所以2号只能从一号的交界处开始,2号与3号也同理。4号为什么会最后填充整个剩余空间,以为DockPanel的默认属性LastChildFill为true,那怎样不让它填充最后整个剩余空间呢?看下题②。
②、最后元素不填充剩余空间
看图中涂有黄色的部分,很简单就是把DockPanel的属性LastChildFill改为false
二、StackPanel:栈式面板
StackPanel就是将控件按照行或列来顺序排列,但不会换行。
通过设置面板的Orientation属性设置了两种排列方式:横排(Horizontal)和竖排(Vertical默认的)。
1、水平排列时,每个元素都与面板一样高;
2、垂直排列时,每个元素都与面板一样宽。如果包含的元素超过了面板空间,它只会截断多出的内容。
①下面我们来看看按钮竖向布局的例子
②下面我们来看看按钮横向布局的例子
③水平布局时,在StackPanel加一个属性FlowDirection="RightToLeft"按钮就会从左至右开始排布
这是我所学到的C#XAML,分享给你们,希望可以帮助到你们。
新手上道,请多多指教,大神勿喷。如果有更好的方法或不懂得地方欢迎在评论区教导和提问喔,
谢谢!