zoukankan      html  css  js  c++  java
  • WPF布局

    前言

    布局主要也就是需要对基础标签和属性熟练使用,需要对界面进行合理的划分,灵活使用布局标签

    布局容器:

    • StackPanel: 水平或垂直排列元素、Orientation属性分别: Horizontal / Vertical
    • WrapPanel : 水平或垂直排列元素、针对剩余空间不足会进行换行或换列进行排列
    • DockPanel : 根据容器的边界、元素进行Dock.Top、Left、Right、Bottom设置
    • Grid : 类似table表格、可灵活设置行列并放置控件元素、比较常用
    • UniformGrid : 指定行和列的数量, 均分有限的容器空间
    • Canvas : 使用固定的坐标设置元素的位置、不具备锚定停靠等功能。

    使用示例

    假设我现在从UI那里拿到这样一张图

    布局参考图

    那我们该如何给这个界面划分布局呢?

    image-20210627234813676

    首先我们先定义两行,分为顶部导航栏和中间主体

    image-20210627234900864

    中间主体先分成两行两列

    image-20210627235123531

    代码如下:

    image-20210627235154732

    现在我们开始处理中间主体上方的那5块内容,我们明明只分了两列两行,现在有5列咋整?对!那就是跨列,HTML中的表格还记得吧。

     <!--  中间主体上方  -->
    <UniformGrid Grid.ColumnSpan="2" Rows="1">
         <Border Margin="10" Background="#219AFD" />
         <Border Margin="10" Background="#60B721" />
         <Border Margin="10" Background="#FFA000" />
         <Border Margin="10" Background="#30B8C4" />
         <Border Margin="10" Background="#E87A6C" />
    </UniformGrid>
    

    使用UniformGrid均分这块区域,使用ColumnSpan跨列,如果要跨行则可以使用RowSpan

    接下买我们再处理下面左侧的部分,我分成了3行了两列,上面第一块如法炮制使用跨列即可,具体代码,详解GitHub

    image-20210627235723409

    最后就是下方右侧那一部分了,没什么难度,最终的效果图

    效果图

    示例源代码

    源代码:https://github.com/luchong0813/WPFSeriesJobs/tree/master/1-WPFLayput

  • 相关阅读:
    我来悟微服务(1)-夜观天象
    静夜思-十年总结与展望
    【Orleans开胃菜系列2】连接Connect源码简易分析
    【Orleans开胃菜系列1】不要被表象迷惑
    .Net单元测试业务实践
    未能使用“Csc”任务的输入参数初始化该任务
    面试发散思维
    Linux部署DotNetCore记录
    一步一步来熟悉Akka.Net(一)
    午夜杂谈
  • 原文地址:https://www.cnblogs.com/chonglu/p/14942755.html
Copyright © 2011-2022 走看看