当前位置:网站首页>如何在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。下面的示例显示了这一点。
边栏推荐
- [免费专栏] Android安全之Android奇淫run-as命令
- Toronto Research Chemicals单羟基舒更葡糖钠说明书
- 大健康产业商业供应链管理系统数字化提升产业链运作效率推动供应链标准化建设
- shell脚本编写 hash方法,shell中字符到ascii码或数字的转换
- mysql 重复数据 分组 多条最新的记录
- Flume (六) --------- Flume 数据流监控
- 日期及时间处理包 Carbon 在 Laravel 中的简单使用[通俗易懂]
- 2022.08.05_每日一题
- 工大科雅深交所上市:市值45亿 齐承英家族是大股东
- 2022深圳(软考中级)系统集成项目管理工程师报名
猜你喜欢
随机推荐
双屏协作更高效,华硕灵耀X 双屏Pro 2022创作体验再升级
uniapp离线推送华为厂商申请流程
韩国严厉监管元宇宙相关企业
hdu 2647 Reward(拓扑排序)
An overview of Office 365 Groups and how to create them
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
laravel 中配置文件.env解读
ebook下载 | 《 企业高管IT战略指南——企业为何要落地DevOps》
vim编辑器使用
2021 RoboCom 世界机器人开发者大赛-本科组(决赛)
39. 组合总和 && 40. 组合总和2 && 216. 组合总和3
有文章说明或者证明MYSQL 嵌套子查询不足之处吗?
漏洞复现-redis未授权getshell
DP-Differential Privacy概念介绍
『百日百题 · 基础篇』备战面试,坚持刷题 第五话——循环语句(2)!
时序攻击
ebook下载 | 《 企业高管IT战略指南——企业为何要落地DevOps》
[免费专栏] Android安全之Android应用的汉化功能(修改so中的字符串内容)
队列题目:用队列实现栈
[免费专栏] Android安全之Xposed插件开发【从零手把手带】教程









