您当前的位置: 首页 >  光怪陆离的节日

如何在WPF中设置Grid ColumnDefinitions的样式

光怪陆离的节日 发布时间:2022-08-09 14:39:10 ,浏览量:3

这是一种方式: 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抛出的许多网格中。












可以通过使用具有网格作为其ItemsPanelTemplate的ItemsControl来设置ColumnDefinitions。下面的示例显示了这一点。

关注
打赏
查看更多评论

光怪陆离的节日

暂无认证

  • 3浏览

    0关注

    916博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录