开发者社区> 莫问今朝乄> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

WPF布局

简介: 转自:http://blog.csdn.net/lisenyang/article/details/18312067 WPF中存在5种布局元素 Grid:网格。可以自定义行和列并通过行列的数量,行高,列宽来调整控件的布局。
+关注继续查看

 转自:http://blog.csdn.net/lisenyang/article/details/18312067

WPF中存在5种布局元素

  • Grid:网格。可以自定义行和列并通过行列的数量,行高,列宽来调整控件的布局。近似于HTML中的Table
  • StackPanel:栈式面板。可将包含的元素在水平或垂直方向排成一条线,当移除一个元素后,后面的元素会自动向前填充空缺
  • Cannas:画布。内部元素可以使用以像素为单位的绝对坐标进行定位,类似于Windows Fom的布局方式
  • DockPanel:泊靠式面板。内部元素可以选择泊靠的方向,类似于Winform中设置控件的Dock属性
  • WrapPanel:自行折行面板。内部元素在排满一行后能够自动折行,类似于HTML中的流式布局

  1.Grid

    特点:

  • 可以定义任意数量的行和列,非常灵活   
  • 行的高度和列的宽度可以使用绝对值,相对比例或自行调整的方式进行精确设定,并可以设置最大和最小值
  • 内部元素可以设置自己所在的行和列,还可以设置自己纵向跨几行,横向跨几列。
  • 可以设置Children元素的对齐方向

     适用场合

  • UI布局的大框架设计
  • 大量UI元素需要成行或者成列对齐的情况
  • UI尺寸改变的时候,元素需要保留固有的宽度和高度比例  
  • UI后期可能有较大的变更或扩展

     例题:

  

 <Grid Height="319" VerticalAlignment="Bottom">
        <Grid.RowDefinitions>
            <RowDefinition Height="1*"/>
            <RowDefinition Height="1*"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <!--1*为比例-->
            <ColumnDefinition Width="1*"/>
            <ColumnDefinition Width="2*"/>
        </Grid.ColumnDefinitions>
        <Label Content="第一行第一列" Grid.Column="0" Grid.Row="0" VerticalAlignment="Center" HorizontalAlignment="Center"></Label>
        <Label Content="第一行第二列" Grid.Column="1" Grid.Row="0" VerticalAlignment="Center" HorizontalAlignment="Center"></Label>
        <Label Content="第二行第一列" Grid.Column="0" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center"></Label>
        <Label Content="第二行第二列" Grid.Column="1" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center"></Label>
    </Grid>

    2.StackPanel

    使用场合:

  • 同类元素需要紧凑排列(如制作菜单和列表)
  • 移除其中的元素后能够自动补缺的布局或动画    

    3.Canvas

       使用场合:

  • 一经设计,基本不用有改动的小型布局(如图标)
  • 艺术性较强的布局
  • 需要使用大量纵横坐标来进行绝对定位布局
  • 依赖纵横坐标的动画

   

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
WPF中实现多选ComboBox控件
原文:WPF中实现多选ComboBox控件 在WPF中实现带CheckBox的ComboBox控件,让ComboBox控件可以支持多选。 将ComboBox的ItemsSource属性Binding到一个Book的集合, public class Book { ...
2819 0
WPF 4 DataGrid 控件(基本功能篇)
原文:WPF 4 DataGrid 控件(基本功能篇)      提到DataGrid 不管是网页还是应用程序开发都会频繁使用。通过它我们可以灵活的在行与列间显示各种数据。本篇将详细介绍WPF 4 中DataGrid 的相关功能。
1136 0
WPF 控件库——仿制Windows10的进度条
原文:WPF 控件库——仿制Windows10的进度条 一、其实有现成的   先来看看Windows10进度条的两种模式:       网上有不少介绍仿制Windows10进度条的文章,也都实现了不错的效果。
1119 0
WPF 控件库——仿制Chrome的ColorPicker
原文:WPF 控件库——仿制Chrome的ColorPicker 一、观察   项目中的一个新需求,需要往控件库中添加颜色拾取器控件,因为公司暂时还没有UI设计大佬入住,所以就从网上开始找各种模样的ColorPicker,找来找去我就看上了谷歌浏览器自带的,它长这个样:         看上去不错,可以搞!搞之前得观察一下这里面可能的一些坑。
1193 0
WPF自定义控件与样式(8)-ComboBox与自定义多选控件MultComboBox
原文:WPF自定义控件与样式(8)-ComboBox与自定义多选控件MultComboBox 一.前言   申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接。
1828 0
在WPF的WebBrowser控件中抑制脚本错误
原文:在WPF的WebBrowser控件中抑制脚本错误 今天用WPF的WebBrowser控件的时候,发现其竟然没有ScriptErrorsSuppressed属性,导致其到处乱弹脚本错误的对话框,在MSDN上找到了如下解决方案:  1 static void SuppressScriptE...
919 0
转 8天入门wpf—— 第六天 细说控件
WPF中的控件大体上分为四类   内容控件   ContentControl直接从Control类中派生出来,内容控件的最大特征是含有一个Content属性,Content属性的类型是Object,因此内容控件可以是.Net的任何类。
783 0
WPF下可编辑Header的Tab控件实现
介绍 有这样一个需求,当用户双击Tab控件Header区域时, 希望可以直接编辑。对于WPF控件,提供一个ControlTemplate在加上一些Trigger就可以实现。效果如下: 代码 首先,我们需要给Tab Header设计一个ControlTemplate。
937 0
+关注
莫问今朝乄
三人行,必有我师
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载