首页 > 其他 > 详细

#467 – 使用UniformGrid 均分行和列(Use a UniformGrid for Evenly Spaced Rows and Columns)

时间:2018-05-17 10:17:11      阅读:423      评论:0      收藏:0      [点我收藏+]

原文 #467 – 使用UniformGrid 均分行和列(Use a UniformGrid for Evenly Spaced Rows and Columns)

UniformGrid 布局面板和Grid 面板相似,将子元素按照行列的方式排列。但是可以Grid 有一下不同:

 - 不需要指定行和列的大小

 - 所有列都是相同的宽度

 - 所有行都是相同的高度

 - 要指定预期的行和列的数目

 - 不需要给子元素指定所在的行和列

子元素将自动的根据添加是顺序从第一行开始显示在对应的行和列中,每样都是从左至右。

[html] view plain copy
 
  1. <UniformGrid Rows="2" Columns="3">  
  2.     <Label Content="1st" Background="Azure" />  
  3.     <Label Content="2nd" Background="Moccasin"/>  
  4.     <Label Content="3rd" Background="DarkSeaGreen"/>  
  5.     <Label Content="4th" Background="Violet" />  
  6.     <Label Content="5th" Background="Pink" />  
  7. </UniformGrid>  

技术分享图片

技术分享图片

UniformGrid  中的第一个子元素不一定必须在第一行第一个单元格。设置FirstColumn 属性可以设置子元素显示的起始列(最小为0)。

[html] view plain copy
 
  1. <UniformGrid Rows="5" Columns="7" FirstColumn="3" >  
  2.     <Border BorderBrush="Black" BorderThickness="1"><Label Content="1"/></Border>  
  3.     <Border BorderBrush="Black" BorderThickness="1"><Label Content="2"/></Border>  
  4.     <Border BorderBrush="Black" BorderThickness="1"><Label Content="3"/></Border>  
  5.     <!-- etc -->  
  6. </UniformGrid>  

技术分享图片
从上面可以看到,当设置FirstColumn 属性值为3的时候,第一个元素显示在第一行的第3列(从0开始)。

如果想改变子元素每一行的排列的方向,可以设置UniformGrid 的FlowDirection 属性。其值可以是LeftToRight(默认)从左往右,也可以是RightToLeft 从右往左。

下面的代码设置FlowDirection 属性为RightToLeft

 

[html] view plain copy
 
  1. <UniformGrid Rows="2" Columns="4" FlowDirection="RightToLeft">  
  2.     <Label Content="1" Background="AliceBlue"/>  
  3.     <Label Content="2" Background="Cornsilk"/>  
  4.     <Label Content="3" Background="DarkSalmon"/>  
  5.     <Label Content="4" Background="Gainsboro"/>  
  6.     <Label Content="5" Background="LightBlue"/>  
  7.     <Label Content="6" Background="MediumAquamarine"/>  
  8.     <Label Content="7" Background="MistyRose"/>  
  9. </UniformGrid>  

技术分享图片

原文地址:https://wpf.2000things.com/2012/01/06/467-use-a-uniformgrid-for-evenly-spaced-rows-and-columns/

 

#467 – 使用UniformGrid 均分行和列(Use a UniformGrid for Evenly Spaced Rows and Columns)

原文:https://www.cnblogs.com/lonelyxmas/p/9048982.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!