当前位置: 首页 > news >正文

示例:WPF中应用Grid的SharedSizeGroup设置整齐的布局

一、目的:应用Grid的SharedSizeGroup设置整齐的布局


二、实现

 <ItemsControl ItemsSource="{local:GetStudents Count=5}"><ItemsControl.ItemTemplate><DataTemplate><Grid ShowGridLines="True"><Grid.ColumnDefinitions><ColumnDefinition/><ColumnDefinition/></Grid.ColumnDefinitions><TextBlock Text="{Binding Address}" Grid.Column="0"/><TextBlock Text="{Binding Name}" Grid.Column="1"/></Grid></DataTemplate></ItemsControl.ItemTemplate></ItemsControl>

当我们在一个ItemsControl里面用Grid定义了两列时,显示效果如下,比较乱

一般情况我们会把Grid,的列宽设置一个固定值

这样看起来比较整齐,但是字段长度不可控制,有些会被覆盖掉,这时候需要 SharedSizeGroup,去控制列的宽度

三、环境


VS2022

四、示例

<ItemsControl Grid.IsSharedSizeScope="True" ItemsSource="{local:GetStudents Count=5}"><ItemsControl.ItemTemplate><DataTemplate><Grid ShowGridLines="True"><Grid.ColumnDefinitions><ColumnDefinition SharedSizeGroup="group1"/><ColumnDefinition/></Grid.ColumnDefinitions><TextBlock Text="{Binding Address}" Grid.Column="0"/><TextBlock Text="{Binding Name}" Grid.Column="1"/></Grid></DataTemplate></ItemsControl.ItemTemplate>
</ItemsControl>

 Grid.IsSharedSizeScope="True" 放在父级上,所有子元素的Grid标识了SharedSizeGroup都会列宽自动对齐

显示效果如下

五、需要了解的知识点

Grid 类 (System.Windows.Controls) | Microsoft Learn

Grid.IsSharedSizeScope Attached Property (System.Windows.Controls) | Microsoft Learn

DefinitionBase.SharedSizeGroup Property (System.Windows.Controls) | Microsoft Learn

六、源码地址

GitHub - HeBianGu/WPF-ControlDemo: 示例

GitHub - HeBianGu/WPF-ControlBase: Wpf封装的自定义控件资源库

GitHub - HeBianGu/WPF-Control: WPF轻量控件和皮肤库

七、了解更多

System.Windows.Controls 命名空间 | Microsoft Learn

https://github.com/HeBianGu

HeBianGu的个人空间-HeBianGu个人主页-哔哩哔哩视频

http://www.lryc.cn/news/375952.html

相关文章:

  • React的form表单自定义校验规则
  • 一种新的一维时间序列信号盲解卷积算法(以旋转机械故障诊断为例,MATLAB环境)
  • 618电商是社区网站入局的好时机吗?
  • 不知道密码,一样能卸载瑞星esm防病毒终端安全防护系统
  • Chromium 开发指南2024 Mac篇-安装和配置depot_tools工具(三)
  • 微信小程序-路由和页面跳转API
  • PWR电源控制
  • 【记录46】【案例】echarts 柱状图
  • Github2024-06-12 开源项目日报 Top10
  • 茶艺师服务师傅小程序APP源码(APP+小程序+公众号+H5)
  • 【正则表达式】入门
  • 制造业为什么需要ERP企业管理软件?
  • JavaScript Prototype
  • Web Works API 和 Promise 的对比和区别
  • jeecg快速启动(附带本地运行可用版本下载)
  • 【PPT教程】一键重置幻灯片背景的方法,新建幻灯片带默认背景
  • NVIDIA新模型Nemotron-4:98%的训练数据是合成生成的,你敢信?
  • 深度神经网络——什么是NLP(自然语言处理)?
  • 05-5.5.1 哈夫曼树
  • 夯实网络底座:智能云解析助推新基建发展再上新台阶
  • 时间戳转时间格式小记——个位数月份 如何去掉补位0的情况
  • C++ 矩阵乘法
  • 热门开源项目推荐
  • Study--Oracle-03-数据库常规操作
  • OpenCloudOS 8.8 一键安装 Oracle 19C 单机
  • 【Android】【Java】【每日练手3】Android的四个主要组件使用示例
  • 代码随想三刷二叉树篇2
  • QT pro包含库文件目录符号含义
  • uniapp怎么进行页面的跳转
  • 数据库管理-第205期 换个角度看23ai(20240617)