WPF中的布局方式

WPF中的布局方式前言:WPF(WindowsPresentationFoundation)是微软推出的基于Windows的用户界面框架,属于.NETFramework3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面布局方式:1.Canvas2.Grid3.WarpPanel4.StackPanel5.ScrollViewer……

大家好,又见面了,我是你们的朋友全栈君。

前言:WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面


WPF布局规则:wpf窗口只能包含单个元素,为在wpf窗口中放置多个元素,需要添加容器然后向容器中放置元素


一般常用的布局方式:

1.Canvas:使用固定坐标绝对定位元素

在这里插入图片描述

<Canvas Width="100" Height="100" HorizontalAlignment="Left" Background="Pink" VerticalAlignment="Bottom">
    </Canvas>
    //width:为容器的宽度,height:为容器的高度
    //HorizontalAlignment:水平对齐方式,VerticalAlignment:垂直对齐方式
    //Background:背景色

2.Grid:根据不可见的表格在行和列中排列元素

在这里插入图片描述

<Grid Width="100" Height="200" Background="Pink">
        <Grid.ColumnDefinitions>//设置列
            <ColumnDefinition/>
            <ColumnDefinition/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>//设置行
            <RowDefinition/>
            <RowDefinition/>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        //所以图中见到了4行3列
    </Grid>

注:虽然说在xaml代码中划分了行和列但是线条不会在运行结果中显示
在这里插入图片描述
3.WarpPanel:在一系列可换行的行中放置元素;在水平方向上,WarpPanel面板从左向右放置条目,然后在随后的行中放置元素;在垂直方向上,WarpPanel面板在自上而下的列中放置元素,并使用附加的列放置剩余的条目:

我们用button按钮进行演示:

在这里插入图片描述

<WrapPanel Background="Pink">
        <Button VerticalAlignment="Top" Width="100" Height="100"/>
        <Button VerticalAlignment="Top" Width="100" Height="100"/>
        <Button VerticalAlignment="Top" Width="100" Height="100"/>
        <Button VerticalAlignment="Top" Width="100" Height="100"/>
    </WrapPanel>

WrapPanel提供了一些假想的行和列,当WrapPanel自身的宽高发生改变时对其中的元素布局也会有影响,如下图:当宽度变窄时其会自动调节其中元素的布局方式
在这里插入图片描述
4.DockPanel:沿着一条外边缘来拉伸所包含的控件,也就类似于许多窗口顶部的工具栏:
在这里插入图片描述

<DockPanel  LastChildFill="False" Background="Pink" >
        <Button Content="上" DockPanel.Dock="Top" Background="Blue"/>
        <Button Content="左" DockPanel.Dock="Left" Background="Yellow"/>
        <Button Content="下" DockPanel.Dock="Bottom"  Background="Red"/>
        <Button Content="右" DockPanel.Dock="Right"  Background="Black"/>
    </DockPanel>
    //Dock用于设置其对齐方式,有"Top","Left","Bottom","Right"四个属性值

LastChildFill:获取或设置一个值,该值指示 System.Windows.Controls.DockPanel 中的最后一个子元素是否拉伸以填充剩余的可用空间,默认为true。
5.StackPanel:和DockPanel类似都有拉伸作用:

在这里插入图片描述
默认情况下是水平拉伸,如果我们想垂直拉伸,可以加一下属性 Orientation="Horizontal"
在这里插入图片描述
6.ScrollViewer:自定义滚动条样式容器,自带滚动条:
在这里插入图片描述
在这里插入图片描述
可以看到在右侧有一个白色的滚动条样式

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159904.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python ddos攻击_DDoS攻击工具

    python ddos攻击_DDoS攻击工具DDoS攻击工具综合性工具综合性工具除了可以进行DDoS攻击外,还可用于其他的用途,例如:端口扫描、安全审计、防火墙等。实际上,大部分综合性工具开发的原始目的并不是用于DDoS,而是“网络检查或测试工具”Hping?Hping是一个编码和解码TCP/IP协议的命令行开发工具,常用于测试网络及主机的安全,同时也可以做安全审计、防火墙测试等工具的标配工具;Hping的命令行就像常用的ping命令,不…

    2022年7月27日
    15
  • 索引优缺点

    索引优缺点一、为什么要创建索引呢(优点)?创建索引可以大大提高系统的性能。第一,   通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。第二,   可以大大加快数据的检索速度,这也是创建索引的最主要的原因。第三,   可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。第四,   在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。第五,   通过使用索引,…

    2022年5月26日
    39
  • Linux禁用防火墙规则的命令_linux 防火墙开启端口

    Linux禁用防火墙规则的命令_linux 防火墙开启端口linux防火墙有时候觉得太烦人了,想禁用下,该怎么办呢?下面由学习啦小编给你做出详细的linux防火墙禁用方法介绍!希望对你有帮助!linux防火墙禁用方法一:Linux中现主要有两套管理服务的软件。大多数的发行版使用SysVinit的系统启动进程管理体系,即service和chkconfig命令来配置和控制服务,例如CentOS6有些发行版则默认使用比较新的也是争议很大的systemd体系…

    2022年9月2日
    2
  • 测试工程师简历编写指南怎么写_初级软件测试工程师简历

    测试工程师简历编写指南怎么写_初级软件测试工程师简历概述在人才市场中,一次完整的求职过程通常包括以下阶段:简历筛选电话面试笔试面谈意向确定就职到岗其中第一步,简历是求职过程中的敲门砖。简历如果过于潦草,无法体现自身真实水平,那么可能连面

    2022年8月1日
    6
  • stc15w4k32s4最小系统原理图_单片机最小系统原理图,求详细讲解

    stc15w4k32s4最小系统原理图_单片机最小系统原理图,求详细讲解展开全部我是一名单片机工程师,下面51单片机最小系统的讲解,你参考一下51单片机共有40只引脚.下面这个就是636f70793231313335323631343130323136353331333365653861最小系统原理图,就是靠这四个部分,这个单片机就可以运行起来了.我们来一,一讲解一下:1第一部分:电源组(标记为1的部分)40脚接电源5V(右上角),20脚接电源负极(左下角),在单片…

    2022年8月30日
    3
  • 华硕笔记本 x550c 光驱位换固态硬盘

    华硕笔记本 x550c 光驱位换固态硬盘这两天给华硕笔记本(型号x550c)加装了个8G的内存条,并且给光驱位改装成了480G固态硬盘。内存条和固态硬盘都是在闲鱼上购买。加内存条内存条买的是海力士颗粒的8G1600Mhz,

    2022年7月2日
    55

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号