当前位置:网站首页>如何在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。下面的示例显示了这一点。
边栏推荐
猜你喜欢

IS31FL3737B general 12 x 12 LED drive 40 QFN I2C 42 ma

leetcode二叉搜索树与双向链表

华为云全流程护航《流浪方舟》破竹首发,打造口碑爆款

2.2 监督学习-1
![[Free Column] Android Security for Peace Elite (FZ) APK Reverse Analysis](/img/22/a5129a310eec5ee1bf6f1cf90d05de.png)
[Free Column] Android Security for Peace Elite (FZ) APK Reverse Analysis

小满nestjs(第三章 前置知识装饰器)

Abbkine TraKine Pro 活细胞微管染色试剂盒重要特色

听音识情绪 | 程序员手把手教你搭建神经网络,更快get女朋友情绪,求生欲max!

嵌入式开发:使用FILL提高代码完整性

Open Source Summer | List Details Display Based on Ruoyi Architecture
随机推荐
不经意传输协议OT
ClickHouse一种高性能分布式join查询模型(Colocate Join)
基于CC2530 E18-MS1-PCB Zigbee DIY作品
Transformer如何用于3D视觉?阿联酋MBZUAI最新《3D视觉Transformers处理》综述,涵盖100+种方法
hdu 1285 确定比赛名次(拓扑排序)
[免费专栏] Android安全之Android Studion 动态调试APK的两种方法
competed中访问ref为undefined
Samsung's flagship discount is 1,800, Apple's discount is over 1,000, and the domestic flagship is only reduced by 500 to send beggars
基于CC2530 E18-MS1-PCB Zigbee DIY作品(三)
启动 CM agent 报错——ImportError: libssl.so.10: cannot open shared object file: No such file or directory
WPF 实现带蒙版的 MessageBox 消息提示框
重磅!上海985教授当选!全球仅4人!
工大科雅深交所上市:市值45亿 齐承英家族是大股东
MYSQL物理存储文件的页和INNOBUF的页是否有大小区别?
基于SSM实现手机销售商城系统
Leetcode 739.每日温度 单调栈
数据分散情况的统计图-盒须图
【kali-权限提升】(4.2.6)社会工程学工具包(中):中间人攻击工具Ettercap
Laravel之队列「建议收藏」
Open Source Summer | List Details Display Based on Ruoyi Architecture