WPF布局控件常用属性介绍

WPF布局控件常用属性介绍

其它 | 作者:慧都控件网 | 2011-04-06 13:41:57| 阅读 0次 有用(0) 评论(0)


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

  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"这种设法将左右外边距设置成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>绝对改变尺寸的方式,这种方式设置没有什么用途,不够灵活,难以处理文本的大小改变和包容器的大小改变。

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

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

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

时间: 2024-10-09 08:22:28

WPF布局控件常用属性介绍的相关文章

WPF 布局控件 之 DockPanel

DockPanel为容器控件 主要了解其Dock属性和LastChildFill属性的使用 一.LastChildFill="True" 时 代码: <DockPanel LastChildFill="True"> <Button DockPanel.Dock="Top">Top</Button> <Button DockPanel.Dock="Bottom">Bottom<

第7章(2)--布局控件常用的公共属性

分类:C#.Android.VS2015: 创建日期:2016-02-10 一.简介 Android应用程序中的布局控件都是容器控件,用于控制子元素的排列和放置方式.Android提供的布局控件有: LinearLayout:线性布局. GridLayout:网格布局. TableLayout:表布局. FrameLayout:框架布局. Relative Layout:相对布局. AbsoluteLayout:绝对布局. 二.常用的公共属性 Android的每个布局控件(layout)都是一个

WPF自学入门(二)WPF-XAML布局控件

上一篇介绍了xaml基本知识,我们已经知道了WPF简单的语法.那么接下来,我们要认识一下WPF的布局容器.布局容器可以使控件按照分类显示,我们一起来看看WPF里面可以使用哪些布局容器用来布局. 在WPF中,布局是由布局容器来完成的,容器里面是可以放控件,容器里面也可以放容器.而在WPF中,布局容器有很多,下面主要介绍最常用的几种布局容器, 下面分别介绍StackPanel,WarpPanel,DockPanel,Grid,Canvas五种布局容器 一.StackPanel 在WPF中StackP

布局控件Grid

XAML概述 Silverlight的控件绘制是由XAML语言进行支持的.什么是XAML语言? 简单的说,XAML(Extensible Application Markup Language )是一款基于XML的描述性语言,中文也叫做可扩展应用程序标记语言. 该语言是由微软开发创建,主要用于构建WPF和Silverlight应用程序用户界面.XAML是Silverlight用户界面设计的基础,使用XAML可以定义Silverlight对象以及属性,相对于后台语言定义控件来说,XAML提供了非常

Expression Blend实例中文教程(3) - 布局控件快速入门Grid

上一篇对Blend 3开发界面进行了快速入门介绍,本篇将基于Blend 3介绍Silverlight控件.对于微软开发工具熟悉的朋友,相信您很快就熟悉Blend的开发界面和控件. XAML概述 Silverlight的控件绘制是由XAML语言进行支持的.什么是XAML语言? 简单的说,XAML(Extensible Application Markup Language )是一款基于XML的描述性语言,中文也叫做可扩展应用程序标记语言. 该语言是由微软开发创建,主要用于构建WPF和Silverl

WPF的控件介绍及注意事项(2)

上一章讲到了布局.这点就有点类似建筑设计.第一步是出图纸.整体的结构.而第二步就是堆砌, 建筑学里面也会有很多描述, 例如砖头,水泥.玻璃.瓷板.而在WPF中, 这一切的基础也就是控件.用于填充结构的UI控件. WPF的控件结构 各种控件类型详解 ContentControl 类 设置内容的属性为 Content, 例如 控件目录下只允许设置一次Content, 如下演示给按钮添加一个Image和一个文本显示Label, 错误如下: 正确的使用方式: <!利用我们上一章说讲到的布局容器装载在其中

Windows phone 8.1布局控件

布局控件(4种  第一种) Grid:相当于 HTML 中的 Table 标签,但是注意 Table 更重要的是展示数据,   而 Grid 则是专门为布局所生 属性标记: Grid.RowDefinitions:行定义,元素类型 RowDefinition,必要属性 Height Grid.ColumnDefinitions:列定义,元素类型 ColumnDefinition,必要属性 Width Width 和 Height属性单位为像素,有两个特殊值“*”.“auto” 常用附加属性: G

WPF用户控件实现类似WinForm的子窗口

1.WPF 介绍 .NET Framework 4 WPF 是下一代显示系统,用于生成Windows 客户端应用程序. 使用 WPF可以创建广泛的独立应用程序以及浏览器承载的应用程序. WPF 的核心是一个与分辨率无关并且基于向量的呈现引擎,旨在利用现代图形硬件的优势.WPF 通过一整套应用程序开发功能扩展了这个核心,这些功能包括Extensible Application Markup Language (XAML).控件.数据绑定.布局.2-D和3-D图形.动画.样式.模板.文档.媒体.文本

WPF第三方控件盘点

WPF统一的编程模型.语言和框架,实现了界面设计人员和开发人员工作可以分离的境界,鉴于WPF强大的优势,且一直是开发者关注的地方,下面和大家分享基于WPF项目开发需要用到的第三方控件,包括业界最受好评的网格控件.图表控件.停靠窗口和文本编辑器. 网格控件 1. Mindscape WPF Property Grid 这款表格控件是100%原生WPF表格控件,是Mindscape公司旗下WPF Elements用户界面套包里的一个商业子控件,当前已经更新到了5.1版本,新的版本在属性表格的性能以及