大家好,今天来为大家分享WPF 入门布局的一些知识点,和的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
1.DockPanel面板
里面的元素使用Dock 属性来设置它们停靠的方向。分别有:个。
Right(右底座)、Left(左底座)、Buttom(下底座)、Top(上底座)
DockPanel LastChildFill=’False’
按钮DockPanel.Dock=’左’ Content=’左停靠’/
按钮DockPanel.Dock=’右’ Content=’右停靠’/
按钮DockPanel.Dock=’Top’ Content=’Dock’/
按钮DockPanel.Dock=’Bottom’ Content=’Dock’/
/停靠面板
2.StackPanel堆栈面板
特点是每个元素占一行或一列,不会换行。根据Orientation属性,您可以设置Vertical或Horizontal。默认值为垂直。在此面板中您可以根据方向将元素一一堆叠
StackPanel 方向=’水平’
按钮内容=’水平1’/
按钮内容=’水平2’/
按钮内容=’水平3’/
按钮内容=’水平4’/
/堆栈面板
StackPanel 方向=’垂直’
按钮内容=’垂直1’/
按钮内容=’垂直2’/
按钮内容=’垂直3’/
按钮内容=’垂直4’/
/堆栈面板
渲染:
3. 包裹面板
它与上面的StackPanel 非常相似,但是如果WrapPanel 中的元素超过长度或宽度,它们就会换行。也是通过Orientation属性设置为Horizontal(从左到右排列,超出底部环绕),或者Vertical(从上到下排列,从左到右环绕),默认值为Orientation
窗口x:Class=’CriticalValueMonitor.MainWindow’
xmlns=’http://schemas.microsoft.com/winfx/2006/xaml/presentation’
xmlns:x=’http://schemas.microsoft.com/winfx/2006/xaml’
xmlns:d=’http://schemas.microsoft.com/expression/blend/2008′
xmlns:mc=’http://schemas.openxmlformats.org/markup-compatibility/2006′
mc:Ignorable=’d’
标题=’测试页’ 高度=’300′ 宽度=’500′
WrapPanel 方向=’水平’
按钮内容=’水平1’宽度=’140’/
按钮内容=’水平2’宽度=’140’/
按钮内容=’水平3’宽度=’140’/
按钮内容=’水平4’宽度=’140’/
/包裹面板
/窗户
渲染:
4.网格、网格布局
其特点是将页面划分为小网格,然后在网格内放置控件。它是所有布局中最复杂的,但应用最广泛。 Grid的主要属性有:ColumnDefinitions、RowDefinitions,分别表示有多少行、多少列。 ShowGridLines 属性指示是否显示网格线。默认为false。使用Grid.Columu 配置控件在哪一列,使用Grid.Row 配置控件在哪一行。
窗口x:Class=’CriticalValueMonitor.MainWindow’
xmlns=’http://schemas.microsoft.com/winfx/2006/xaml/presentation’
xmlns:x=’http://schemas.microsoft.com/winfx/2006/xaml’
xmlns:d=’http://schemas.microsoft.com/expression/blend/2008′
xmlns:mc=’http://schemas.openxmlformats.org/markup-compatibility/2006′
mc:Ignorable=’d’
标题=’测试页’ 高度=’300′ 宽度=’500′
网格ShowGridLines=’True’
Grid.ColumnDefinitions
列定义/
列定义/
列定义/
/Grid.ColumnDefinitions
Grid.RowDefinitions
行定义/
行定义/
行定义/
/Grid.RowDefinitions
按钮内容=’button1’Grid.Column=’0’Grid.Row=’0’/
按钮内容=’button2’Grid.Column=’1’Grid.Row=’1’/
按钮内容=’button3′ Grid.Column=’2′ Grid.Row=’2’/
/网格
/窗户
渲染:
5.画布布局
类似于坐标系的面板,使用左、右、右、下四个字段来设置控件的放置位置。
帆布
按钮内容=’Test1’Canvas.Left=’0’Canvas.Top=’20’宽度=’60’/
按钮内容=’Test2’Canvas.Right=’0’Canvas.Bottom=’60’宽度=’60’/
按钮内容=’Test3’Canvas.Left=’150’Canvas.Top=’50’宽度=’60’/
按钮内容=’Test4’Canvas.Right=’150’Canvas.Bottom=’50’宽度=’60’/
/帆布
画布还有一个z_index 属性来设置控件的折叠顺序。如果没有设置z_index,系统将按照控件定义的顺序对控件进行排序。 z_index 属性被定义为调整控件的重叠顺序。
示例:未添加z_index时
帆布
按钮内容=’Test1’Canvas.Left=’150’Canvas.Top=’60’宽度=’90’高度=’50’背景=’黄色’前景=’灰色’/
按钮内容=’Test2’Canvas.Left=’150’Canvas.Top=’80’宽度=’90’高度=’50’背景=’红色’前景=’白色’/
按钮内容=’Test3’Canvas.Left=’150’Canvas.Top=’100’宽度=’90’高度=’50’背景=’绿色’前景=’白色’/
按钮Content=’Test4′ Canvas.Left=’150′ Canvas.Top=’120′ Width=’90’ Height=’50’ //画布
添加z_index后:
帆布
按钮内容=’Test1’Panel.ZIndex=’3’Canvas.Left=’150’Canvas.Top=’60’宽度=’90’高度=’50’背景=’黄色’前景=’灰色’/
按钮内容=’Test2’Panel.ZIndex=’2’Canvas.Left=’150’Canvas.Top=’80’宽度=’90’高度=’50’背景=’红色’前景=’白色’/
按钮内容=’Test3’Panel.ZIndex=’1’Canvas.Left=’150’Canvas.Top=’100’宽度=’90’高度=’50’背景=’绿色’前景=’白色’/
按钮内容=’Test4’Panel.ZIndex=’0’Canvas.Left=’150’Canvas.Top=’120’宽度=’90’高度=’50’/
/帆布
效果:
原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/124236.html
用户评论
残留の笑颜
WPF从没试过,一直还在用WinForm开发。看到这个教程感觉可以试试看啊!布局确实是个挺头疼的点,希望能通过学习这篇文章掌握一些技巧。
有16位网友表示赞同!
落花忆梦
说起来 WPF 的布局真是挺复杂的,各种面板布局、对齐方式… 看起来好眼花缭乱的说. 希望这篇文章能解释清楚一点。
有8位网友表示赞同!
ゞ香草可樂ゞ草莓布丁
对于新手来说,WPF入门确实需要克服不少困难,这篇博客正好说明了点关键,希望能尽快把这个布局搞明白!
有14位网友表示赞同!
夏日倾情
标题说的重点啊,入门中确实布局是最头疼的部分,因为各种自定义控件、元素的排列组合让脑袋瓜都嗡嗡地。希望这篇文章能给一个清晰的思路!
有7位网友表示赞同!
琴断朱弦
讲实话,还是Winform比较亲切,我已经习惯了它的开发方式了… 不过现在想尝试一下WPF,毕竟这个框架确实挺好用的!这篇博客讲的内容刚好是对我现在的状况很有帮助…
有17位网友表示赞同!
半梦半醒i
我也是在学习 WPF 过程中被布局搞得头疼啊,各种 Grid ,StackPanel, DockPanel … 感觉要记忆那么多属性才能正确摆放元素。希望这篇文章能给一些实际的应用例子,更容易理解。
有15位网友表示赞同!
爱到伤肺i
虽然这篇博客讲得比较浅显,但是对于刚入门 WPF 的新手来说却很有帮助!希望能够后续的博客详细介绍每一个布局策略和如何灵活使用它们
有17位网友表示赞同!
盲从于你
终于找到一篇关于WPF入门布局的博客了,感觉其他的教程都是直接跳到高级的内容去了。 希望这篇文章能让我从基础开始一步步学习!
有10位网友表示赞同!
你是梦遥不可及
这篇博客写得挺好的,能把复杂的 WPF 布局概念说的简单易懂!特别是对新手来说非常实用。但我希望作者能够提供更多具体的代码示例,这样更容易理解和实践
有6位网友表示赞同!
执笔画眉
刚学完 WPF 布局部分,这篇文章正好适合我来巩固一下所学的知识。希望能从这篇博客中获取一些新的学习思路和方法。
有9位网友表示赞同!
没过试用期的爱~
对于WPF布局感觉不是很难,特别是掌握了GRID的使用技巧后,其他的布局类型都是套路相同的。 这篇博客内容有点太基础了,没给我多少新收获.
有16位网友表示赞同!