当前位置:首页 > 技术知识 > 正文内容

WPF开发教程01-布局控件(wpf 表单布局)

布局控件是用于进行控件布局的容器类控件,其内部控件按照一定规律自动排列,且在父控件改变大小时,会自动适应。常用布局控件如下:

1. 一维布局控件(StackPanel)

其内部控件按照某个维度自动排列,排列方向通过Orientation属性控制。

  • 水平方向(Orientation=Horizontal)
<StackPanel Orientation="Horizontal">
    <Label Width="50" Height="50" Background="Red" Margin="10"></Label>
    <Label Width="50" Height="50" Background="Blue" Margin="10"></Label>
    <Label Width="50" Height="50" Background="Yellow" Margin="10"></Label>
</StackPanel>
  • 垂直方向(Orientation=Vertical)
<StackPanel Orientation="Horizontal">
    <Label Width="50" Height="50" Background="Red" Margin="10"></Label>
    <Label Width="50" Height="50" Background="Blue" Margin="10"></Label>
    <Label Width="50" Height="50" Background="Yellow" Margin="10"></Label>
</StackPanel>

2. 停靠布局控件(DockPanel)

指定控件停靠区域,默认为充满,通过在子控件中指定DockPanel.Dock来确定停靠位置

<DockPanel>
    <Label DockPanel.Dock="Left" Background="Red">靠左停靠</Label>
    <Label DockPanel.Dock="Right" Background="Blue">靠右停靠</Label>
    <Label DockPanel.Dock="Top" Background="Yellow">靠上停靠</Label>
    <Label DockPanel.Dock="Bottom" Background="LemonChiffon">靠下停靠</Label>
    <Label Background="AliceBlue">充满</Label>
</DockPanel>

3. 二维布局控件(Grid)

该控件为WPF中最常用的布局控件,提供二维方向的控件布局。类似于一个EXCEL表格;控件中,通过`ColumnDefinitions`和`RowDefinitions`定义行和列信息。其内部子控件,通过Grid.Row和Grid.Column属性指定控件所在单元格,通过Grid.RowSpan和Grid.ColumnSpan属性指定控件的列跨度和行跨度(类似于EXCEL中的合并单元格)

<Grid ShowGridLines="True">
    <Grid.ColumnDefinitions>
        <!--指定列宽度为100像素-->
        <ColumnDefinition Width="100"></ColumnDefinition>
        <!--表示列宽度自适应内容-->
        <ColumnDefinition Width="Auto"></ColumnDefinition>
        <!--未指定时,默认为*,表示按照剩余宽度分配,这里表示本列占据剩余宽度的1/3,下面2*列占据2/3-->
        <ColumnDefinition></ColumnDefinition>
        <ColumnDefinition Width="2*"></ColumnDefinition>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="50"></RowDefinition>
        <RowDefinition Height="50"></RowDefinition>
        <RowDefinition></RowDefinition>
    </Grid.RowDefinitions>

    <Label Grid.Row="0" Grid.Column="0" Background="Yellow">Label1</Label>
    <Label Grid.Row="1" Grid.Column="1" Grid.RowSpan="2" Background="Red">Label2</Label>
    <Label Grid.Row="1" Grid.Column="2" Grid.ColumnSpan="2" Background="AntiqueWhite">Label3</Label>
</Grid>

相关文章

单打独斗的产品设计师工作流程总结

来人人都是产品经理【起点学院】,BAT实战派产品总监手把手系统带你学产品、学运营。我从入行开始就在一个做自己产品的小公司工作,到现在已经三年了。刚开始工作的时候什么也不懂,老板说让出效果图,就开始直接...

网络安全常用术语(网络安全常用术语介绍)

黑客帽子之分白帽白帽:亦称白帽黑客、白帽子黑客,是指那些专门研究或者从事网络、计算机技术防御的人,他们通常受雇于各大公司,是维护世界网络、计算机安全的主要力量。很多白帽还受雇于公司,对产品进行模拟黑客...

记录程序第一天挖漏洞的过程(挖漏洞需要学什么语言)

第一个漏洞复现fastjson漏洞说明:在本地这个fastjson会出现问题复现的过程生成一个java文件进行攻击注入的方式javac Exploit.java但是必须编译成.class文件才能执行p...

那些技术—Listview的性能提高篇(listview提高效率)

ListView优化一直是一个老生常谈的问题,不管是面试还是平常的开发中,ListView永远不会被忽略掉,那么这篇文章我们来看看如何最大化的优化ListView的性能。 · 1.在adapter中的...

android培训学习的大纲(安卓app培训)

第一阶段android基础:1.基础javaJava概述,进制,数据类型,常量变量,运算符,表达式关系运算符,逻辑运算符,if语句,switch语句while循环,do...while循环,for循环...

btrace 3.0 重磅新增 iOS 支持!免插桩原理大揭秘!

重磅更新btrace 是由字节跳动抖音基础技术团队自主研发的面向移动端的性能数据采集工具,它能够高效的助力移动端应用采集性能 Trace 数据,深入剖析代码的运行状况,进而辅助优化提升移动端应用的性能...