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

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

maynowei8个月前 (08-16)技术知识91

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

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>

相关文章

惊现!iOS 16.5 kfd 漏洞利用,成功隐藏 Dock 栏

最近!kfd漏洞比较活跃,进展也是很顺利,今天就有大神成功使用 kfd 漏洞实现隐藏 Dock 栏,到底怎么回事?请继续往下看。-- kfd 漏洞说明 --kfd漏洞适合在 iOS 16.2 - 16...

Go 语言中的 RWMutex 源码解析、使用场景及应用分析

Go 语言标准库的 sync 包提供了一些非常重要的并发原语来帮助程序开发者处理并发任务。本文将详细解析 sync 包中的 RWMutex,即读写互斥锁(Reader/Writer Mutex),并结...

C++26中同步与原子操作新变化(c++ 同步)

引言随着多核处理器和并发编程的普及,C++26进一步增强了对同步与原子操作的支持,为开发者提供了更高效、更安全的工具来应对多线程编程中的数据竞争与同步挑战。自C++11引入原子操作以来,C++标准库在...

LabVIEW实现Oracle数据库的访问(labview数据库查询界面)

1. 安装 Oracle 客户端下载:从 Oracle 官方网站下载适用于 Windows 操作系统的 Oracle 驱动程序。确保下载的版本与 LabVIEW 环境和操作系统兼容。1)以 Windo...

Google前工程主管“入住”Oracle(google公司前台)

ZDNet至顶网服务器频道 10月11日 新闻消息:Oracle 已聘用了前 Snapchat 和 Google 工程部主管 Peter Magnusson,其主要的职责是运行一个被重新调整过的 of...

ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务

早上同事用PL/SQL连接虚拟机中的Oracle数据库,发现又报了“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”错误,帮其解决后,发现很多人遇到过这样的问题,因此写着这里。也...