![wpf第二章布局_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-2/2/81eaf2ea-0de1-4cc3-8edb-113e3d24ac29/81eaf2ea-0de1-4cc3-8edb-113e3d24ac291.gif)
![wpf第二章布局_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-2/2/81eaf2ea-0de1-4cc3-8edb-113e3d24ac29/81eaf2ea-0de1-4cc3-8edb-113e3d24ac292.gif)
![wpf第二章布局_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-2/2/81eaf2ea-0de1-4cc3-8edb-113e3d24ac29/81eaf2ea-0de1-4cc3-8edb-113e3d24ac293.gif)
![wpf第二章布局_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-2/2/81eaf2ea-0de1-4cc3-8edb-113e3d24ac29/81eaf2ea-0de1-4cc3-8edb-113e3d24ac294.gif)
![wpf第二章布局_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-2/2/81eaf2ea-0de1-4cc3-8edb-113e3d24ac29/81eaf2ea-0de1-4cc3-8edb-113e3d24ac295.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、布局与输入1. 布局基础a WPF提供了一套面板(Panel),它们是一系列具有特殊用途的用户界面元素b StackPanel-栈面板 WrapPanel环绕模板 DockPanel停靠模板 Grid网格 Canvas 画布 UniformGrid 均布网格c 以上描述了WPF中的主要面板类型,无论使用哪种面板,它们都遵循相同的基本规则:元素的位置通常是由包含它们的面板所定 2. 栈面板a 是一种非常简洁的面板,它的作用是将所包含的元素按一行或一列的方式排列。通常不会用栈面板来布局整个用户界面。它的最大用途就是排列一些比较小的元素,好比html里的ul无序列表WPF通过两种方法来解决元素的布局
2、问题,该策略取决于可用空间大小是否固定。SizeToContent="Height"设置某个空间的大小是不是由内容制定 相关的属性还有margin 和 padding,这样设置的控件都会通过窗体大小的变化而产生相应的变化,该值与设备无关如果设置height 和 width则是固定大小3. DockPanela 为了满足Dock的停靠要求必须在子控件上使用附加属性。DockPanel.Dock4. WrapPanel环绕面板a 通过Orientation属性设置排列的方向和栈面板类似不过环绕面板到最后的时候会自动换行,很类似listview5. 画布Canvasa 是面板中比
3、较简单的一种b 类似html中的绝对定位后通过横纵坐标控制其位置(附加属性Canvas.Left 和Canvas.Top Canvas.Right Canvas.Bottom)该值与设备无关6. InkCanvas允许画笔的Canvas在WPF中实现允许使用墨迹的控件。如:1: <Window x:Class="WPFLayoutDemo.InkCanvasDemo"2: xmlns="3: xmlns:x="4: Title="InkCanvasDemo" Height="200" Width="
4、300">5: <InkCanvas>6: <InkCanvas.DefaultDrawingAttributes>7: <DrawingAttributes Color="Red" />8: InkCanvas.DefaultDrawingAttributes>9: <Image Width="155" Height="155" InkCanvas.Left="10" InkCanvas.Top="10" 10: Source=&
5、quot;Logo2.png"/>11: InkCanvas>12: Window>其他的功能与Canvas相近。7. Grid网格 a 网格是所有面板用最常用也最复杂的布局面板b 类似的是Html中的Table标签也有行,单元格,跨行,跨列之说c 思考:如上图所示如何把里面的信息分成左右两部分的?用栈面板可以实现么?d 尝试下stackpanel的布局是否可以实现e 经过上面的尝试我们已经可以看出stackpanel如果这么使用的话是非常蹩脚的。而且很低效f Grid网格面板就可以轻易解决(table不就很easy嘛)g 画分割线的话可以弄个很窄的行填充一个矩形即
6、可h 加背景样式可以用border控件可以使用GridSplit控件结合Grid控件实现类似于Windows应用程序中SplitContainer的功能,如下面的应用程序:要实现以下的功能: ButtonA和ButtonB、ButtonC组成的整体,可以左右拖动,改变两者的宽度 ButtonB和ButtonC可以上下拖动,改变两者的高度 实现以上功能的XAML代码如下:1: <Grid>2: <Grid.ColumnDefinitions>3: <ColumnDefinition Width="88*" />4: <ColumnDe
7、finition Width="Auto" />5: <ColumnDefinition Width="190*" />6: Grid.ColumnDefinitions>7: <Grid.RowDefinitions>8: <RowDefinition Height="172*" />9: <RowDefinition Height="Auto" />10: <RowDefinition Height="90*" />11
8、: Grid.RowDefinitions>12: 13: <Button Content="ButtonA" Margin="3" Grid.Row="0" Grid.Column="0" Grid.RowSpan="3" />14: <Button Content="ButtonB" Margin="3" Grid.Row="0" Grid.Column="2" />15: <
9、Button Content="ButtonC" Margin="3" Grid.Row="2" Grid.Column="2" />16: 17: <GridSplitter Width="3" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" 18: Grid.Row="0" Grid.Column="1" Grid.RowSpan=&
10、quot;3"> GridSplitter>19: <GridSplitter Height="3" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" 20: Grid.Row="1" Grid.Column="2"> GridSplitter>21: Grid>其核心想法为: 定义3*3的表格,其中放置分割线的列(下标为1)和行(下标为1)的宽度和高度设置为Auto ButtonA放置在Row=0、Column=0、RowSpan3的单元格中 ButtonB放置在Row=0、Column=2的单元格中 ButtonC放置在Row=2、Column=2的单元格中 竖直分割线放置在Row=0、Column=1、ColSpan3的单元格中 水平分割线放置在Row=1、Column=2的单元格中 如下图所示:8. 均布Grid 聪明的grida 通过设置Rows和Columns即可甚至可以不设置9. ViewBox视图框a S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 现代纹样设计在商业品牌推广中的应用实践
- 现代办公环境下的AI餐厅服务应用研究
- 现代物流行业的服务创新与升级
- 现代办公环境下的报告制作技巧
- 2024年五年级语文上册 第六单元 口语交际:父母之爱说课稿 新人教版
- Module7 Unit2 This little girl can't walk(Period 1) (说课稿) -2024-2025学年外研版(三起)英语五年级上册
- 7《什么比猎豹的速度更快》说课稿-2024-2025学年五年级上册语文统编版001
- 13美丽的冬天 说课稿-2024-2025学年道德与法治一年级上册统编版
- 2024-2025学年高中化学 第1章 第4节 第2课时 有机物分子式与分子结构的确定说课稿 新人教版选修5
- 2024年五年级数学上册 二 多边形的面积第4课时 公顷和平方千米(2)说课稿 苏教版
- 三年级上册体育课教案
- 2024高考物理二轮复习电学实验专项训练含解析
- 高中英语:倒装句专项练习(附答案)
- 2025届河北衡水数学高三第一学期期末统考试题含解析
- 2024年山东省青岛市普通高中自主招生物理试卷(含解析)
- 2024信息技术数字孪生能力成熟度模型
- 交通银行股份有限公司操作风险管理政策
- 提高数学教师命题能力培训
- 数字证书使用承诺函
- 猎聘网在线人才测评题库
- 《社区康复》课件-第八章 视力障碍患者的社区康复实践
评论
0/150
提交评论