wpf之GroupBox

前言

在开发wpf程序过程中有时候需要将多个控件归为一类控件,从而实现界面的布局美化,这时候就可以使用Groupbox将多个控件放在一起,并且给这多个同类控件起一个共同的标题,本文就来介绍wpf中Groupbox控件的使用。

1、只包含单个控件

GroupBox 的Header属性就是GroupBox的标题。

csharp 复制代码
 <GroupBox Header=" 单个控件"  >
                <TextBlock Text="123" />
            </GroupBox >

2、包含多个子控件

GroupBox 只能包含单个子控件,如果想实现包含多个子控件,则需要使用容器控件作为GroupBox的子控件,然后将多个控件放置到容器控件中,容器控件可以是StackPanel、Grid等,下面的代码就是使用StackPanel作为 GroupBox 的子控控件。

csharp 复制代码
<GroupBox Header=" 多个控件"  >
                <StackPanel  Orientation="Horizontal" >
                    <StackPanel  Orientation="Vertical"  >
                        <TextBox Text=" 1" />
                    </StackPanel >
                    <StackPanel  Orientation="Vertical" Margin="10 0 0 0"  >
                        <TextBox Text=" 2" />
                    </StackPanel >
                    <StackPanel  Orientation="Vertical" Margin="10 0 0 0"  >
                        <TextBox Text=" 3" />
                    </StackPanel >
                </StackPanel >
            </GroupBox >

3、自定义标题

通过将GroupBox.Header进行自定义,下面的代码使用Ellipse和TextBlock来组合使用组成Header。

csharp 复制代码
 <GroupBox BorderBrush="blue"
          BorderThickness="2"
          Foreground="Red" >
                <GroupBox.Header >
                    <StackPanel Orientation="Horizontal"  >
                        <Ellipse Fill="Red" Width=" 20"  Height=" 20"/>
                        <TextBlock Text="自定义标题" VerticalAlignment="Center" HorizontalAlignment="Center" Margin=" 2 0 0 0"/>
                    </StackPanel >
                </GroupBox.Header >
                <StackPanel  Orientation="Horizontal" >
                    <StackPanel  Orientation="Vertical"  >
                        <TextBox Text=" 1" />
                    </StackPanel >
                    <StackPanel  Orientation="Vertical" Margin="10 0 0 0"  >
                        <TextBox Text=" 2" />
                    </StackPanel >
                    <StackPanel  Orientation="Vertical" Margin="10 0 0 0"  >
                        <TextBox Text=" 3" />
                    </StackPanel >
                </StackPanel >
            </GroupBox >

马工撰写的年入30万+C#上位机项目实战必备教程(点击下方链接即可访问文章目录)

1、《C#串口通信从入门到精通》

2、《C#与PLC通信从入门到精通 》

3、《C# Modbus通信从入门到精通》

4、《C#Socket通信从入门到精通 》

5、《C# MES通信从入门到精通》

6、《winform控件从入门到精通》

7、《C#操作MySql数据库从入门到精通》

相关推荐
淡海水1 小时前
10-05-高级-模式匹配-CSharp如何改变与数据结构的交互方式
数据结构·算法·c#·模式匹配
XiaoZhenHua982 小时前
C# WinForms + 西门子S7 + SQLite + EPPlus生产数据采集系统架构设计
系统架构·sqlite·c#
Lost of 程序猿3 小时前
船岸数据同步链路实战:SendFlag、单调版本号与断网三天后的续传
后端·c#·asp.net
敲代码的嘎仔18 小时前
从集群锁失效到异步领券:我用分布式锁 + Redisson + MQ 把领券接口 RT 从 200ms 压到 15ms
java·数据库·redis·分布式·缓存·ai·wpf
cjp56020 小时前
012.UG二次开发,UG管道服务器与WPF管道通讯,传输JSON数据
c#
jiushidt1 天前
ArcGIS Pro Add‑in 打包流程详解
arcgis·c#·.net·arcgispro
闲云自留地1 天前
OpenStack 的身份管家:Keystone 令牌、RBAC 权限模型拆解
wpf·openstack
geovindu2 天前
CSharp: Observer Pattern
开发语言·后端·观察者模式·设计模式·c#·.netcore·行为模式
软件黑马王子2 天前
20.Resources资源加载:基本实现
开发语言·前端框架·c#
张人玉2 天前
基于 C# / .NET 8 + Windows Forms + SQLite 的桌面银行业务演示系统——华夏示范银行管理系统
windows·sqlite·c#·.net