首页 > 其他分享 >WPF的容器控件之Gird

WPF的容器控件之Gird

时间:2024-08-05 23:53:47浏览次数:15  
标签:控件 单元格 容器 元素 Gird 添加 Grid WPF

WPF的容器控件之Gird

Grid顾名思义就是“网格”,以表格形式布局元素,对于整个面板上的元素进行布局,它的子控件被放在一个一个事先定义好的小格子里面,整齐配列。 Grid和其他各个Panel比较起来,功能最多也最为复杂。要使Grid,首先要向RowDefinitions和ColumnDefinitions属性中添加一定数量的RowDefinitions和ColumnDefinitions元素,从而定义行数和列数。而放置在Grid面板中的控件元素都必须显示采用Row和Column附加属性定义其放置所在的行和列,这两个属性的值都是从0开始的索引数,如果没有显式设置任何行或列,Grid将会隐式地将控件加入在第0行第0列。由于Grid的组成并非简单的添加属性标记来区分行列,这也使得用户在实际应用中可以具体到某一单 元格中,所以布局起来就很精细了。 列宽和行高,分别可以在ColumnDefinition、RowDefinition里面指定Width、Height的值。
Grid的单元格可以是空的,一个单元格中可以有多个元素,而在单元格中元素是根据它们的Z顺序一个接着一个呈现的。与Canvas一样,同一个单元格中的子元素不会与其他元素交互布局,信息——它们仅仅是重叠而已。
Grid面板将元素分割到不可见的行列网格中。尽管可以在一个单元格中放置多个元素(这时这些元素会相互重叠),但在每个单元格中只放置一个元素通常更合理。当然,在Grid单元格中的元素本身也可能是另一个容器,该容器组织它所包含的一组控件。

将主窗口划分为四个等分的部分,并各自显示不同的颜色

注意wpf中从0行0列开始。

<Grid>
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>
        <Border  Background="Red"/>
        <Border Grid.Row="1" Background="Yellow"/>
        <Border Grid.Column="1" Background="Blue"/>
        <Border Grid.Row="1" Grid.Column="1" Background="Green"/> 
 </Grid>

效果如下:
在这里插入图片描述

修改行与列的尺寸

自动适应

<Grid.RowDefinitions>
            <RowDefinition Height="auto"/>
            <RowDefinition/>
</Grid.RowDefinitions>

高度根据界面元素进行自适应。
在这里插入图片描述
由于窗口没有元素,自适应导致第一行高度被隐藏。可通过添加一个元素修改,如添加一个button。

<Button Width="100" Height="50"/>

添加button代码段位置如下:

<Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="auto"/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        
        <Grid.ColumnDefinitions>
            <ColumnDefinition/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>

        <Button Width="100" Height="50"/>

        <Border  Background="Red"/>
        <Border Grid.Row="1" Background="Yellow"/>
        <Border Grid.Column="1" Background="Blue"/>
        <Border Grid.Row="1" Grid.Column="1" Background="Green"/>
</Grid>

在这里插入图片描述
自适应以元素最大值为标准,例如:

<Button Width="100" Height="50"/>
<Button Width="100" Height="100"/>

在这里插入图片描述

绝对尺寸

<Grid.RowDefinitions>
            <RowDefinition Height="100"/>
            <RowDefinition/>
</Grid.RowDefinitions>

将高度设置为绝对值100。
在这里插入图片描述

按照比例

<Grid.RowDefinitions>
            <RowDefinition Height="2*"/>
            <RowDefinition/>
</Grid.RowDefinitions>

将第一行高度设置为第二行的两倍。
在这里插入图片描述

元素跨行与跨列

默认情况下,元素在第一行第一列。

让元素占两列空间

<Border  Background="Red" Grid.ColumnSpan="2"/>

在这里插入图片描述

让元素占两行空间

<Border  Background="Red" Grid.ColumnSpan="2" Grid.RowSpan="2"/>

在这里插入图片描述

标签:控件,单元格,容器,元素,Gird,添加,Grid,WPF
From: https://blog.csdn.net/gorgeousjiu/article/details/140939510

相关文章

  • 【番外篇】Android Studio 中 Banner控件实现首页轮播图
    目录一、创建一个空项目二、导入依赖包,添加网络权限三、写布局文件四、写入Java代码完整的Java文件代码:完整的xml代码: 许多App首页都会有轮播图,下面来介绍一下AndroidStudio中如何用Banner控件完成轮播图的效果:一、创建一个空项目为了方便,这里我们把模块名命名......
  • WPF locate discreted points via periodically and set transparency via the alpha,
    //xaml<Windowx:Class="WpfApp229.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.mi......
  • WPF WriteableBitmap通过GDI+绘制帮助类
    代码:publicclassWriteableBitmapGraphic:IDisposable{publicWriteableBitmapSource{get;privateset;}publicSystem.Drawing.Bitmapbitmap{get;privateset;}publicintDataLength{get;privateset;}publ......
  • WPF 布局控件的使用
    一、Grid1.Grid元素用于精确定位行和列中的内容。标签含义Grid.RowDefinitions可以创建任意行,进行固定高度与百分比高度设置。Grid.ColumnDefinitions可以创建任意列,进行固定宽度与百分宽度设置。 2.以下代码创建了两行,第一行占20像素高,第二行占剩......
  • Android 之 PopUpWindow 控件的使用(努力z的日记)
    Gif示例:上面的示例是模仿一些App设置的弹窗,为了实现上面gif中的效果,可以通过PopUpWindow实现。以下是实现过程。(欢迎大佬指证o.o)1:创建PopUpWindow动画(anim)    这个anim是在开发中扮演很重要的一环,因为好看o.o,所以麻烦。浅入浅出是我们比较常见的。(因为周师傅只会......
  • 第十三章 -------------------WPF 和IronPython 联合编程
    1为什么我想用实现WPF和IronPython联合编程?我想解决的问题是利用已经写好的C#Class经过脚本的组合,使的原本单一的逻辑经过组合之后编程一个流程。我查阅了许多资料,也是参考了别人的代码。至于为什么要这么写我想来好多原因,其中最主要的原因可能就是为了适应程序的多变化S......
  • 界面控件DevExpress WinForms v24.1系统环境配置要求
    DevExpressWinForms拥有180+组件和UI库,能为WindowsForms平台创建具有影响力的业务解决方案。DevExpressWinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!本文档包含有关安装和使用 DevExpressWinForms ......
  • 5、Qt-pyqt6常用基本控件 - 按钮控件
    Buttons--按钮类控件名说明PushButton按钮ToolButton工具按钮RadioButton单选按钮CheckBox复选框CommandLinkButton命令链接按钮DialogButtonBox对话框按钮盒......
  • WPF【无限滚动图片浏览】自定义控件
    自定义控件自定义控件是我比较陌生的一个主题。我好久没练习过wpf了,需要巩固记忆。我想了一会儿,打开动漫之家,忽然觉得这个看漫画的图片浏览控件有意思。于是特地花了一天做了这个图片控件。我原本以为很容易,但实际上并不简单。这个图片浏览控件比我想象中要难许多,有技术上的难题......
  • 4、Qt-pyqt6常用基本控件
    控件对应QTDesigner中的左侧控件Layouts--布局管理控件名说明VerticalLayout垂直布局HorizontalLayout水平布局GridLayout网格布局FormLayout表单布局Spacers--弹簧控件名说明HoriziontalSpacer水平弹簧VerticalSpacer垂......