返回顶部
首页 > 资讯 > 精选 >WPF常见布局面板怎么使用
  • 230
分享到

WPF常见布局面板怎么使用

2023-06-29 00:06:52 230人浏览 薄情痞子
摘要

本文小编为大家详细介绍“WPF常见布局面板怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“WPF常见布局面板怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。常见的几个布局面板1.StackPanel

本文小编为大家详细介绍“WPF常见布局面板怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“WPF常见布局面板怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

常见的几个布局面板

WPF常见布局面板怎么使用

1.StackPanel面板

StackPanel面板能够简单根据单行或者单列进行元素排列, StackPanel 默认的布局方向为垂直方向(Vertical), 由Orientation属性控制。

Orientation属性:

用户控制布局方向是垂直还是横向排列。分别有两个值可选:Vertical、Horizontal

示例代码:

<StackPanel Orientation="Vertical">    <Button>button1</Button>    <Button>button2</Button>    <Button>button3</Button></StackPanel>

效果图(如上面所述 StackPanel面板Orientation属性默认为Vertical):

WPF常见布局面板怎么使用

设置 Orientation="Horizontal" 时, 控件布局方向则为横向, 效果图。

WPF常见布局面板怎么使用

默认情况下, StackPanel面板中的元素都会根据StackPanel的大小而改变, StackPanel面板指定了Width和Height值。

布局属性:

VerticalAlignment当垂直方向有额外的空间, 可以选择Top、Center、Bottom、Stretch进行设置布局
HorizontalAlignment当水平方向有额外的空间, 可以选择Center、Left、Right、Stretcj进行设置布局
Margin

相对控件的4个边、设置边距,可以单独设置各个边距,也可以统一设置一个边距

类似:Margin="1 2 3 4" 或 Margin="1"

【VerticalAlignment/HorizontalAlignment】属性:

为了能够看到效果, 通常预留控件额外的空间, 示例, 默认的StackPanel面板中添加几组按钮, 剩下的白色区域为额外的空间。

WPF常见布局面板怎么使用

这个时候, 针对StackPanel面板设置VerticalAlignment属性为Center, 此时所有的子元素被居中显示,额外的空间被均分。

注:而Bottom、Top、Stretch 则分别表示整体元素居下,居上、整体伸展。

默认情况下, StackPanel面板的VerticalAlignment、HorizontalAlignment 默认属性均为 Stretch

<!-- StackPanel --><StackPanel VerticalAlignment="Center">    <Button>button1</Button>    <Button>button2</Button>    <Button>button3</Button></StackPanel>

效果图:

WPF常见布局面板怎么使用

Margin(边距)属性:

正如前人书中所说, 一个设计良好窗口不止是包含元素、还应当在元素之间包含一定的额外空间。所以这个时候Margin属性派上用场。

以上的示例图中, 均没有设置Margin属性, 所以会看到的是, 每个元素之间都紧贴。

当设置边距时, 可以统一设置元素所有边的距离, 如下所示:

<!-- StackPanel -->   <StackPanel>       <Button Margin="3">button1</Button>       <Button Margin="3">button2</Button>       <Button Margin="3">button3</Button>   </StackPanel>

另外一种,则是分别对元素的边: 左、上、右、下的顺序设置边距, 如下所示:

<!-- StackPanel -->   <StackPanel>       <Button Margin="3 6 3 3">button1</Button>       <Button Margin="3">button2</Button>       <Button Margin="3">button3</Button>   </StackPanel>

2.WarpPanel面板

与StackPanel面板类型, WarpPanel面板也是以行或列的形式进行元素排列, 默认情况下, WarpPanel面板的Orientation属性则为Horizontal,元素以横向进行排列。

注意:与StackPanel面板不同的是, WarpPanel默认情况下, 所有元素均不会被拉伸。这里要强调的一点: StackPanel中, 元素会根据Orientation属性进行拉伸,

当Orientation="Horizontal"时, 元素被垂直拉伸

当Orientation="Vertical"时, 元素被水平拉伸

示例图:

WPF常见布局面板怎么使用WPF常见布局面板怎么使用

同样的, WarpPanel面板具备StackPanel的属性。区别则在于上面的不同。

3.DockPanel面板

用过winform的小伙伴应该都知道, 在winfORM中, 几乎所有的空间都具备Dock停靠属性, 可以针对元素进行单独设置Dock定位。然而在WPF中, 这点显然是不具备的。

所以对于灵活的WPF来说, DockPanel面板具备了这个能力。凡是包含在DockPanel面板中的子元素, 都会具备Dock附加属性。

下图所示, 对DockPanel进行简单的添加元素设置Dock属性:

WPF常见布局面板怎么使用

示例代码:

<DockPanel>    <Button DockPanel.Dock="Top">button1</Button>    <Button DockPanel.Dock="Right" >button2</Button>    <Button DockPanel.Dock="Left">button3</Button></DockPanel>

注意:DockPanel的LastChildFill属性, 主要用于设置DockPanel中最后一个元素的会具备填充效果。如上图的button3元素

LastChildFill 字面意思则可以理解, 最后一个元素是否填充。通过设置true/false,

效果图(LastChildFill="false") :

WPF常见布局面板怎么使用

<DockPanel <strong>LastChildFill="False"</strong>>       <Button DockPanel.Dock="Top">button1</Button>       <Button DockPanel.Dock="Right" >button2</Button>       <Button DockPanel.Dock="Left">button3</Button>   </DockPanel>

Grid面板

Grid面板类型html中的table表格, 为了能够让元素或内容按照规定的位置排列, 首先得定义足够得行和列。

注意: Grid中定义得Row与Column属性默认在元素中都是从0开始索引, 在下面示例中,为了演示都进行了添加(如果在程序中,位置已经确定, 可以默认不加)。

定义行与列( RowDefinitions/ColumnDefinitions)

<Grid>  <strong>  <!-- 下面分别定义了2行 2列 --></strong>    <Grid.RowDefinitions>        <RowDefinition/>        <RowDefinition/>    </Grid.RowDefinitions>     <Grid.ColumnDefinitions>        <ColumnDefinition/>        <ColumnDefinition/>    </Grid.ColumnDefinitions></Grid>

添加元素:

下面为Grid定义得2行2列基础上添加4个按钮, 下图所示:

WPF常见布局面板怎么使用

代码所示:

<Grid>        <!-- 下面分别定义了2行 2列 -->        <Grid.RowDefinitions>            <RowDefinition/>            <RowDefinition/>        </Grid.RowDefinitions>         <Grid.ColumnDefinitions>            <ColumnDefinition/>            <ColumnDefinition/>        </Grid.ColumnDefinitions>         <Button Grid.Column="0" Grid.Row="0">左上</Button>        <Button Grid.Column="1" Grid.Row="0">右上</Button>        <Button Grid.Column="0" Grid.Row="1">左下</Button>        <Button Grid.Column="1" Grid.Row="1">右下</Button>    </Grid>

注意:尽管一个单元格中, 允许放置多个元素, 通常来说这没有什么意义。如上所示, 每个元素都明确了对应单元格中。

Grid与WarpPanel和StackPanel面板等容器不同得区别在于, Grid需要显式定义行与列来放置元素。而相对于其他容器,则会隐式创建行与列。

调整行和列:

Grid面板支持3种设置尺寸的方式:

硬编码尺寸 width="xxx" / height="xxx"
自动设置尺寸 width="auto" / height="auto"
按比例设置尺寸 width="*" / height="2*"

例如, 下面的代码演示了三种设置尺寸的方式:

<Grid>       <!-- 下面分别定义了2行 2列 -->       <Grid.RowDefinitions>           <RowDefinition Height="Auto" />           <RowDefinition Height="100"/>       </Grid.RowDefinitions>        <Grid.ColumnDefinitions>           <ColumnDefinition Width="*"/>           <ColumnDefinition Width="2*"/>       </Grid.ColumnDefinitions>        <Button Grid.Column="0" Grid.Row="0">左上</Button>       <Button Grid.Column="1" Grid.Row="0">右上</Button>       <Button Grid.Column="0" Grid.Row="1">左下</Button>       <Button Grid.Column="1" Grid.Row="1">右下</Button>   </Grid>

实际的显示效果可以看到, 第一列width="*" 为第二列的1/2, 第一行设置的自适应高度, 而第二行则是硬编码的高度 100

WPF常见布局面板怎么使用

注意: 当使用Grid进行按比例设置列或者行时, 如果Grid宽度为奇数像素, 那么被分割的行列像素带小数, 当改列包含形状元素、边框、图像, 那么显示内容可能是模糊的,

如果这个问题影响布局, 则只需要将Grid的UseLayoutRounding属性设置为True即可。

跨行与跨列:

处于Grid中的任意元素, 都具有两个附加属性, 分别为 RowSpan与 ColumnSpan。像这种跨行跨列在WEB应用中十分常见。

下面的示例中演示了如何针对元素进行跨列显示:

WPF常见布局面板怎么使用

5.UniformGrid面板

与Grid相反, UniformGrid并不遵循Grid的众多原则, 无论是显式声明行和列, 还有其附加属性。反而, 通过简单的设置

Rows和Columns属性来设定其尺寸。每个单元格都被均匀分配, 关键一点, 所有元素最后都根据其定义的先后顺序放置在

单元格中。

WPF常见布局面板怎么使用

示例代码如下:

<UniformGrid Rows="2" Columns="2">    <Button>button1</Button>    <Button>button2</Button>    <Button>button3</Button>    <Button>button4</Button></UniformGrid>

6.canvas面板

Canvas面板允许使用精准的坐标放置元素, 为了在Canvas面板中定位一个元素, 需要设置Canvas.Left 和 Canvas.Top属性。

WPF常见布局面板怎么使用

Code:通过设置元素的附加属性 Canvas.Left 、Top、Right、Bottom 等进行元素定位

<Canvas>        <Button Canvas.Left="100" Canvas.Top="50">button1</Button>        <Button Canvas.Left="100" Canvas.Top="80">button2</Button>    </Canvas>

WPF常见布局面板怎么使用

读到这里,这篇“WPF常见布局面板怎么使用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

--结束END--

本文标题: WPF常见布局面板怎么使用

本文链接: https://lsjlt.com/news/321402.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • WPF常见布局面板怎么使用
    本文小编为大家详细介绍“WPF常见布局面板怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“WPF常见布局面板怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。常见的几个布局面板1.StackPanel...
    99+
    2023-06-29
  • WPF常见布局面板用法及介绍
    目录常见的几个布局面板1.StackPanel面板2.WarpPanel面板3.DockPanel面板5.UniformGrid面板6.Canvas面板常见的几个布局面板 1.St...
    99+
    2024-04-02
  • WPF使用Canvas画布面板布局
    Canvas:画布面板 画布,用于完全控制每个元素的精确位置。他是布局控件中最为简单的一种,直接将元素放到指定位置,主要来布置图面。使用Canvas,必须指定一个子元素的位置(相对于...
    99+
    2024-04-02
  • WPF使用StackPanel栈面板布局
    应用程序界面设计中,合理的元素布局至关重要,它可以方便用户使用,并将信息清晰合理地展现给用户。WPF提供了一套功能强大的工具-面板(Panel),来控制用户界面的布局。你可以使用这些...
    99+
    2024-04-02
  • WPF使用DockPanel停靠面板布局
    DockPanel:停靠面板 DockPanel定义一个区域,在此区域中,您可以使子元素通过描点的形式排列,这些对象位于 Children 属性中。停靠面板类似于WinForm中控件...
    99+
    2024-04-02
  • WPF使用WrapPanel环绕面板布局
    WrapPanel:环绕面板 WrapPanel布局面板将各个控件从左至右按照行或列的顺序罗列,当长度或高度不够时就会自动调整进行换行,后续排序按照从上至下或从右至左的顺序进行。 O...
    99+
    2024-04-02
  • WPF使用Grid网格面板布局
    Grid:网格面板 Grid顾名思义就是“网格”,以表格形式布局元素,对于整个面板上的元素进行布局,它的子控件被放在一个一个事先定义好的小格子里面,整齐配列。...
    99+
    2024-04-02
  • WPF中怎么使用Grid网格面板布局
    这篇文章主要讲解了“WPF中怎么使用Grid网格面板布局”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“WPF中怎么使用Grid网格面板布局”吧!Grid:网格面板Grid顾名思义就是“网格”...
    99+
    2023-06-29
  • WPF中常用的布局容器介绍
    目录一、简介二、代码案例1.Border2.StackPanel3.WrapPanel4.DockPanel5.Grid6.UniformGrid7.Canvas8.ScrollVi...
    99+
    2024-04-02
  • WPF布局及布局容器该怎么理解
    本篇文章为大家展示了WPF布局及布局容器该怎么理解,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。WPF布局基础WPF布局原则一个窗口中只能包含一个元素不应显示设置元素尺寸不应使用坐标设置元素的位置可...
    99+
    2023-06-29
  • 怎么使用flex布局轻松实现页面布局
    小编给大家分享一下怎么使用flex布局轻松实现页面布局,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!直接上代码:上中下布局:<!DOCTYPE h...
    99+
    2023-06-08
  • CSS中常见自适应布局是什么
    这篇文章给大家分享的是有关CSS中常见自适应布局是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。   自适应布局:   自适应布局的特点就是根据不同的设备其屏幕尺寸的大小...
    99+
    2024-04-02
  • DIV+CSS页面布局的常见问题及解决方案
    这篇文章主要讲解了“DIV+CSS页面布局的常见问题及解决方案”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“DIV+CSS页面布局的常见问题及解决方案”吧!...
    99+
    2024-04-02
  • 怎么使用DIV标签进行页面布局
    这篇文章主要讲解了“怎么使用DIV标签进行页面布局”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用DIV标签进行页面布局”吧!DreamWeaver插...
    99+
    2024-04-02
  • html页面布局怎么写
    html 布局通过使用 和 元素定义网页内容区域,并使用 css 进行样式控制。常见的布局包括:1)单栏布局;2)两栏布局;3)三栏布局;4)网格布局;5)响应式布局,可根据设备屏幕...
    99+
    2024-05-22
    css
  • HTML教程:如何使用Grid布局进行页面布局
    从过去的表格布局到现在的Flex布局,CSS在页面布局方面一直发展和进化。而现在,CSS Grid布局成为了一种强大且灵活的布局方法。在本教程中,我们将学习如何使用CSS Grid布局来创建复杂且漂亮的页面布局。CSS Grid布局是一个二...
    99+
    2023-10-21
    html 页面布局 Grid布局
  • 网页布局的常见8种类型是什么
    常见的网页布局类型有以下八种:1. 顶部导航布局:页面的导航菜单通常位于页面的顶部,方便用户快速导航。2. 侧边栏布局:将页面的主要...
    99+
    2023-08-25
    网页布局
  • css页面中常见左中右分栏布局的实现方法
    这篇文章主要介绍“css页面中常见左中右分栏布局的实现方法”,在日常操作中,相信很多人在css页面中常见左中右分栏布局的实现方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • JavaGUI常用三种布局使用介绍
    目录1.流布局FlowLayout2.边界布局BorderLayout3.网格布局管理器GridLayout1.流布局FlowLayout 所有组件像流一样,一个一个排放,排满了一...
    99+
    2023-03-03
    JavaGUI 常用布局 JavaGUI布局
  • WPF怎么使用代码创建数据模板DataTemplate
    这篇文章主要讲解了“WPF怎么使用代码创建数据模板DataTemplate”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“WPF怎么使用代码创建数据模板DataTemplate”吧!起因我们都...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作