• 常用的Layout布局元素(重点)


    创建用户界面时,按照位置和大小排列控件以形成布局。任何布局的一项关键要求都是适应窗口大小和显示设置的变化。WPF提供了一流的可扩展布局系统,而不强制你编写代码以适应这些情况下的布局。

    布局系统的基础是相对定位,这提高了适应不断变化的窗口和显示条件的能力,此外,该布局系统还可管理控件之间的协商以确定布局,协商是一个两个过程:首先,控件将需要的位置和大小高告知父级,其次,父级将控件可以有的空间告知控件

    该布局系统通过基WPF类公开给子控件,对于通用的布局(如网格、堆叠和停靠),WPF包括若干布局空间:

    1. Grid:网格。可以自定义行和列并通过行列的数量、行高列宽来调整控件的布局。近似HTML中的table
    2. DockPanel:泊靠式面板。内部元素可以选择泊靠的方向(上下左右),类似winform中设置控件的Dock属性
    3. StackPanel:栈式面板。可将包含的元素在水平或者垂直方法排成一条线,当移除一个元素之后,后面的元素会自动向前填充空缺。(常常用来做菜单栏)
    4. WrapPanel:自动折行面板(环绕面板。内部元素在排满一行后能够自动折行,类似于HTML中流式布局
    5. Canvas:画布。内部元素可以使用以像素为单位的绝对坐标进行定位,类似于Windows Form的布局方式、
    6. UniformGrid:均分布局。横向的网格分割、纵向的网格分割分别是均等的分割的布局类型,各个单元格的大小完全相同,宽与高分别相同

    6.1 Grid网格

    6.1.1 简介

    Grid顾名思义就是“网格”,它的子控件被放在一个一个实现定义好的小格子里面,整齐配列。Grid和其他各个Panel比较起来,功能最多也是最为复杂。

    要使用Grid,首先要向RowDefinitions和ColumnDefinitions属性中添加一定数量的RowDefinitions和 ColumnDefinitions元素,从而定义行数和列数。

    而放置在Grid面板中的控件元素都必须显示采用附加属性语法定义其放置所在的行和列,他们都是以0为基准的整形值,如果没有显示设置任何行和列,Grid将会隐式地将控件加入在第0行第0列

    由于Grid的组成并非简单的添加属性标记来区分行列,这也使得用户在实际应用中可以具体到某一单元格中,所以布局起来就很精细了

    6.1.2 特点

    1. 可以定义任意数量的行和列,非常灵活
    2. 行的高度和列的宽度可以使用绝对值、相对比例或自动调整的方式进行精确设定,并可以设置最大值和最小值
    3. 内部元素可以设置自己所在的行和列Grid.Row和Grid.Column,还可以设置自己纵向跨几行Grid.RowSpan,横向跨几列Grid.ColumnSpan。[附加属性]
    4. 可以设置Children元素的对其方向:水平HorizontalAlignment,垂直VerticalAlignment。[对齐层]

    6.1.3 Grid的使用场合有:

    1. UI布局的大框架设计
    2. 大量UI元素需要成行或者成列对齐的情况
    3. UI尺寸改变的时候,元素需要保留固有的宽度和高度比例

    6.1.4 Grid高度、宽度的几种定义方式

    名称

    说明

  • 相关阅读:
    如何实现全屏?
    单元测试到底是什么?应该怎么做?
    【web-攻击访问控制】(5.1.1)常见漏洞:完全不受保护的功能、基于标识符的功能
    社交媒体与社会网络分析,深度解读社交网络营销
    Git:代码回溯,分布式版本控制,团队协同开发,远程备份
    ANSI / NEMA- MW- 1000-2020 磁铁线标准。. 最新原版
    Spring Cloud Gateway夺命连环10问,带你彻底了解gateway
    C/S架构学习之广播
    javascript中数组和对象的解构
    leetcode 16.01. 交换数字(不使用临时变量交换2个数的值)
  • 原文地址:https://blog.csdn.net/weixin_49756484/article/details/127092513