zoukankan      html  css  js  c++  java
  • 【WPF】【基础】布局系统

    布局系统

      术语“布局”描述测量和排列 Panel 元素的 Children 集合的成员、然后在屏幕上绘制它们的过程。

      每当子 UIElement 改变其位置时,布局系统就可能触发一个新的处理过程。

      简单地说,布局是一个递归系统,实现在屏幕上对元素进行大小调整、定位和绘制。

      布局系统为 Children 集合的每个成员完成两个处理过程:测量处理过程和排列处理过程。

     

    不论何时调用布局系统,都会发生以下系列事件。

    1. UIElement 通过首先测量它的核心属性来开始布局过程。

    2. 计算在 FrameworkElement 上定义的大小调整属性,例如 WidthHeightMargin

    3. 应用 Panel 特定逻辑,例如 Dock 方向或堆栈 Orientation

    4. 测量所有子级后排列内容。

    5. Children 集合绘制到屏幕。

    6. 如果其他 Children 添加到集合、应用 LayoutTransform 或调用 UpdateLayout 方法,会再次调用此过程。

    面板名称

    说明

    Canvas

    定义一个区域,在此区域内,您可以使用相对于 Canvas 区域的坐标显式定位子元素。

    DockPanel

    定义一个区域,在此区域中,您可以使子元素互相水平或垂直排列。

    Grid

    定义由行和列组成的灵活网格区域。

    StackPanel

    将子元素排列成一行(可沿水平或垂直方向)。

    VirtualizingPanel

    为“虚拟化”其子数据集合的 Panel 元素提供一个框架。这是一个抽象类。

    WrapPanel

    从左至右按顺序位置定位子元素,在包含框的边缘处将内容断开至下一行。后续排序按照从上至下或从右至左的顺序进行,具体取决于 Orientation 属性的值。

  • 相关阅读:
    理解KMP算法
    Rabin-Karp字符串查找算法
    利用有限自动机(finite automata)进行模式匹配
    Trie树详解
    win7 64位安装redis 及Redis Desktop Manager使用
    Struts2中EL表达式取值
    jquery的each()详细介绍
    double 类型运算会出现精度问题
    Navicat 导入数据报错 --- 1153
    JAVAAPI学习之Calendar类;Calendar类set()、add()、roll()方法区别
  • 原文地址:https://www.cnblogs.com/ningth/p/1713310.html
Copyright © 2011-2022 走看看