彩票走势图

WPF布局控件常用属性介绍

转帖|其它|编辑:郝浩|2011-04-06 13:41:57.000|阅读 3684 次

概述:WPF布局控件都是派生自System.Windows.Controls.Panel抽象类的面板,Panel类继承自 FrameworkElement,Panel类本身并没有什么特别的,但是WPF中提供了许多用于布局的控件都继承自Panel类,如 StackPanel控件,WrapPanel,DockPanel,Grid,UniformGrid,Canvas等 。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

  WPF布局控件都是派生自System.Windows.Controls.Panel抽象类的面板,Panel类继承自FrameworkElement,Panel类本身并没有什么特别的,但是WPF中提供了许多用于布局的控件都继承自Panel类,如StackPanel控件,WrapPanel,DockPanel,Grid,UniformGrid,Canvas等 。

  接下来对布局控件做简单介绍:

  1.StackPanel控件(将子元素排列成一行(可沿水平或垂直方向))

  <StackPanel Name="stackPanel1" >
         <Button Content="Button"  Name="button1"/>
         <Button Content="Button"  Name="button2" />
         <Button Content="Button"  Name="button3" />
         <Button Content="Button"  Name="button4" />
     </StackPanel>

  默认情况下StackPanel面板从上到下地排列元素,使每个元素的高度适合显示的内容,可以通过设置Orientation属性为Horizontal为水平

  在这个例子中所有的元素都被拉伸到StackPanel面板的整个宽度,这也是窗口的宽度,加宽窗口StackPanel也会变宽,并且按钮也会拉伸他们自己以适应自己宽度变化。

  StackPanel控件常见几个属性:

  (1)public HorizontalAlignment HorizontalAlignment { get; set; }

  (获取或设置在父元素(如面板或项控件)中构成此元素时应用于此元素的水平对齐特征),它是一个枚举值,默认情况下为Stretch完全充满整个容器。

  (2)public VerticalAlignment VerticalAlignment { get; set; }

  (获取或设置在父元素(如面板或项控件)中组合此元素时应用于此元素的垂直对齐特征。)默认情况下为Stretch

  类型:System.Windows.VerticalAlignment

  (3)public Thickness Margin { get; set; }(获取和设置元素的外边距)

  类型:System.Windows.Thickness

  提供元素的边距值。 默认值是所有属性都等于 0,默认的左,上,右,下。如果将Margin="15",这种设置将所有的边距都设置成相同的宽度15,margin="20,50&quot;这种设法将左右外边距设置成20,上下50

  (4)Height设置元素的高度,另外两个MinHeight和WaxHeight分别为最小尺寸和最大尺寸,如果这三个值存在冲突,首先必须采用 MinHeight;然后采用 MaxHeight;最后,如果 Height 位于限制之内,则采用该值

  (5)Width同样和上面Height属性类似。

  所有的上面这些属性都是继承自FrameworkElement基类,所以在WPF中使用的所有图形元素都支持这些属性。

  2.WarpPanel面板和DockPanel面板

  WarpPanel:从左至右按顺序位置定位子元素,在包含框的边缘处将内容断开至下一行。

  可以通过 Orientation设置其排列方式,该控件主要用来控制用户界面布局的细节。

  DockPanel

 <DockPanel>
         <Button Content="Button" DockPanel.Dock="Left" />
         <Button Content="Button" DockPanel.Dock="Bottom"/>
         <Button Content="Button" DockPanel.Dock="Right"/>
         <Button Content="Button" DockPanel.Dock="Top" />
         <Button Content="Button"  />
     </DockPanel>

  可以通过上面四个附加属性来定义按钮位于DockPanel的那个位置。因为在WPF中很少单独的使用StackPanel,WrapPanel,DockPanel进行布局,他们通常用于布局用户界面的一部分,下面将介绍Grid面板

  3.Grid面板

  Grid面板是WPF中最强大的布局控件,是有行和列组成的网格,s类似于HTML中的table。

  Grid面板通过使用对象填充Grid.RowDefinitions和Grid.ColumnDefinitions集合的方式来创建列和行。

<Grid x:Name="LayoutRoot" Background="DarkGray">
         <Grid.RowDefinitions>
             <RowDefinition></RowDefinition>
             <RowDefinition ></RowDefinition>
             <RowDefinition></RowDefinition>
         </Grid.RowDefinitions>
         <Grid.ColumnDefinitions>
             <ColumnDefinition></ColumnDefinition>
             <ColumnDefinition ></ColumnDefinition>
         </Grid.ColumnDefinitions>

</Grid>

  上面创建了个三行两列的表格。Grid表格中的所有行和列平均分配空间。

  在单元格中放置控件可以通过Row和Column附加属性来设置。

  Grid控件支持三种改变尺寸的方式:

  (1)<ColumnDefinition Width="100"></ColumnDefinition&gt;绝对改变尺寸的方式,这种方式设置没有什么用途,不够灵活,难以处理文本的大小改变和包容器的大小改变。

  (2)<ColumnDefinition Width="Auto"></ColumnDefinition>自动改变尺寸,这种方式最有用。

  (3)<ColumnDefinition Width="*"><;/ColumnDefinition>按比例尺寸改变。

   Grid中使用RowSpan和Column这两个属性来跨行和跨列


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:博客园

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP