当前位置:网站首页>如何在WPF中设置Grid ColumnDefinitions的样式
如何在WPF中设置Grid ColumnDefinitions的样式
2022-08-09 18:54:00 【黄昏和星空】
这是一种方式: 1)创建一个带有附加属性的集合,如下所示:
public class ColumnDefinitions : Collection
{
public static readonly DependencyProperty SourceProperty = DependencyProperty.RegisterAttached(
“Source”,
typeof(ColumnDefinitions),
typeof(ColumnDefinitions),
new PropertyMetadata(
default(ColumnDefinitions),
OnColumnDefinitionsChanged));
public static void SetSource(Grid element, ColumnDefinitions value)
{
element.SetValue(SourceProperty, value);
}
[AttachedPropertyBrowsableForChildren(IncludeDescendants = false)]
[AttachedPropertyBrowsableForType(typeof(Grid))]
public static ColumnDefinitions GetSource(Grid element)
{
return (ColumnDefinitions)element.GetValue(SourceProperty);
}
private static void OnColumnDefinitionsChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
var grid = (Grid)d;
grid.ColumnDefinitions.Clear();
var columnDefinitions = (ColumnDefinitions)e.NewValue;
if (columnDefinitions == null)
{
return;
}
foreach (var columnDefinition in columnDefinitions)
{
grid.ColumnDefinitions.Add(columnDefinition);
}
}
}
2)然后你可以使用它作为资源和网格样式,如下所示: 请注意,必须使用x:Shared=“False”。如果没有相同的定义将添加到导致WPF抛出的许多网格中。
<UserControl.Resources>
<demo:ColumnDefinitions x:Key=“SomeColumnDefinitions” x:Shared=“False”>
</demo:ColumnDefinitions>
</UserControl.Resources>
<Grid.RowDefinitions>
</Grid.RowDefinitions>
可以通过使用具有网格作为其ItemsPanelTemplate的ItemsControl来设置ColumnDefinitions。下面的示例显示了这一点。
边栏推荐
猜你喜欢
鲜花线上销售管理系统的设计与实现
Bi Sheng Compiler Optimization: Lazy Code Motion
Fully automated machine learning modeling!The effect hangs the primary alchemist!
启动 CM agent 报错——ImportError: libssl.so.10: cannot open shared object file: No such file or directory
渗透测试——CFS三层靶机内网渗透实操
大健康产业商业供应链管理系统数字化提升产业链运作效率推动供应链标准化建设
小满nestjs(第三章 前置知识装饰器)
[免费专栏] Android安全之GDB动态调试APP
[Free column] APK dynamic reverse application of Android security [Three Smali injection methods]
Openharmony轻量系统实验--GPIO点灯
随机推荐
数学建模——模拟退火
[Free Column] Android Fragment Injection for Android Security
新起之秀 DPU,正在掀起数据中心变革!
[免费专栏] Android安全之Android应用的汉化功能(修改so中的字符串内容)
移动端,PC端,微信等常用平台和浏览器判断
『百日百题 · 基础篇』备战面试,坚持刷题 第五话——循环语句(2)!
听音识情绪 | 程序员手把手教你搭建神经网络,更快get女朋友情绪,求生欲max!
华为云全流程护航《流浪方舟》破竹首发,打造口碑爆款
leetcode 503.下一个更大元素II 单调栈
钢材行业供应链协同管理系统提升企业上下游密切度,精细化企业内部管理
[Free column] Xposed plug-in development for Android security [from scratch] tutorial
Haven't tried line art videos this year??
leetcode 二叉树的分层遍历1
基于SSM实现手机销售商城系统
Transformer如何用于3D视觉?阿联酋MBZUAI最新《3D视觉Transformers处理》综述,涵盖100+种方法
DP-Differential Privacy概念介绍
2022 RoboCom 世界机器人开发者大赛-本科组(省赛)-RC-u5 树与二分图
ebook下载 | 《 企业高管IT战略指南——企业为何要落地DevOps》
获取一段程序运行的时间
laravel 中配置文件.env解读