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:自定义滚动条样式容器,自带滚动条:
在这里插入图片描述
在这里插入图片描述
可以看到在右侧有一个白色的滚动条样式

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • java冒泡排序经典代码_Java 8大经典排序算法(含源代码),必须收藏!

    java冒泡排序经典代码_Java 8大经典排序算法(含源代码),必须收藏!原标题:Java8大经典排序算法(含源代码),必须收藏!今天小编帮大家整理了Java的8种经典算法。不论是笔试还是面试,都是非常实用的干货。不论你是菜鸟还是高手,非常值得一看!不转发也是挺可惜的~8种排序之间的关系:1,直接插入排序(1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2]个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此…

  • linux内核版本介绍_ubuntu内核版本查看

    linux内核版本介绍_ubuntu内核版本查看问题是否有Ubuntu版本列表,默认对应Linux内核版本?答案14.10WartyWarthog2.6.85.04HoaryHedgehog2.6.105.10BreezyBadger2.6.126.06DapperDrake2.6.156.10EdgyEft2.6.177.04FeistyFawn2.6.207.10GutsyGibbon2.6.228…

  • 同居第60天,在家族群里目睹了男友劈腿全过程……我笑抽了哈哈哈!

    文案改编自:新青年大院NEWYOUTH。这里有全网最奇葩的情感故事,这里有你想不到的憨批投稿,这里有你和你身边朋友的影子,也有你恨的牙痒痒的各种痴男怨女。总之,这是一个关注了就停不…

  • 软件工程期末考试题库(超全)[通俗易懂]

    软件工程期末考试题库(超全)[通俗易懂]软件工程期末考试题库选择题具有风险分析的软件生命周期模型是(  C   )。A.瀑布模型      B.喷泉模型  C.螺旋模型        D.增量模型软件工程的基本要素包括方法、工具和(A)。A. 过程        B. 软件系统   C. 硬件环境         D. 人员软件的复杂性是( A),它引起人员通信困难、开发费用超支、开发时间超时等问题。A. 固有的         B. 人为的   C. 可消除的         D. 不可降低的在结

  • Sublime Text 3安装及常用插件安装

    Sublime Text 3安装及常用插件安装欢迎访问我的个人博客http://xiaolongwu.cn/一、Sublime3下载1.百度搜索Sublime3download,选择进入下载页面2.我选择下载Win64位安装程序二、Sublime3安装傻瓜式安装,一直点下一步即可。三、Sublime3插件配置1.直接安装安装Sublimetext3插件很方便,可以直接下载安装…

  • django菜鸟教程用pycharm_runoob菜鸟教程官网

    django菜鸟教程用pycharm_runoob菜鸟教程官网Django安装以及简单项目创建(被django支配的恐惧)django简介python中有许多web框架,django无疑是一位S级选手,django是一个开放源代码的web框架,是由python写成的一个web框架.安装在安装django的同时,怎么能没有python呢django和python不可分割的一对基友,路径如下:python下载路径:https://www.pytho…

发表回复

您的电子邮箱地址不会被公开。

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