zoukankan      html  css  js  c++  java
  • 简单记录几个wpf学习上的问题[布局]

    自从写了prism的学习资料之后从没写过wpf的程序,最近玩wow,琢磨着写一个插件下载器,开始用winform写好了,感觉有点丑,心想,为什么不用wpf呢?于是就有了这个项目。
    好吧,以下简单记录下自己开发这个项目上遇到的一些问题

    整体布局可以使用 Grid

    Grid的可以将整个界面分割成若干个小格子,像一张网格

    画格子

    用<Grid.ColumnDefinitions> 来定义列
    要添加一列,就得在里面加一行RowDefinition
    用<Grid.ColumnDefinitions> 来定义行
    要添加一行,就得在里面加一行ColumnDefinition

    控件在Grid中的定位

    使用Grid.Row="0" 来定位在第几行 不定义默认第一行
    使用Grid.Column="1" 来定义在第几列 不定义默认第一列
    横跨多少列使用 Grid.ColumnSpan="2"
    横跨多少行使用 Grid.RowSpan="3"

    Grid的列宽

    行使用 属性 RowDefinition 中的Height 来定义高度
    列使用 属性 ColumnDefinition 中的Width 来定义宽度
    这里还有一个比较特殊的值 就是 * ,代表剩下的所有,如果有两个行/列的大小(Height /Width )设置了,那么他们将平分剩下的空间,如果分别设置1* 2*,那么他们将按1:2的比例占用剩下的空间

    控件 GridSplitter 可以用来重新定义相邻的两个单元格(cell)的大小,也可以使用布局属性中的**Span属性来定义他的长度

    小块布局可以使用StackPanel

    StackPanel中的控件将会按照一定的方向填充排列(顶头顶脚那种)

    StackPanel的排列方式

    Orientation的属性来定义其中的控件是按照横向(Horizontal)排列还是纵向(Vertical)排列

    StackPanel中的控件定位

    可以使用 DockPanel.Dock="Right" 来定位控件在StackPanel中的吸附位置,如果是Right,那么他将吸附到StackPanel的右侧(此时,StackPanel是横向排列的,默认控件是从左侧依次往右排列)

    至此,基本就能定义一个页面布局了

  • 相关阅读:
    基于React 的audio音频播放组件
    React Context 的基本用法
    Video-React 视频播放组件的使用
    Html5 Canvas 使用
    React 中使用富文本编辑器 Braft Editor ,并集成上传图片功能
    ant design pro 项目实现路由级的动态加载按需加载
    确保代码仓库中包含 yarn.lock 文件
    ES6 对象解构赋值(浅拷贝 VS 深拷贝)
    JS 中判断数据类型是否为 null、undefined 或 NaN
    js中的数据类型及判断方法
  • 原文地址:https://www.cnblogs.com/hicolin/p/13785420.html
Copyright © 2011-2022 走看看