有没有办法将DataGridTextColumns中的文本全局对齐到中间或中心?
每个DataGrid执行此操作的xaml是
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="HorizontalAlignment"
Value="Center" />
</Style>
</DataGridTextColumn.ElementStyle>
但是我不想为每个DataGrid复制和粘贴此代码,我喜欢在app.xaml文件中执行此操作。
我正在寻找类似的东西(但不起作用)
<Style TargetType="{x:Type DataGridTextColumn.ElementStyle}">
<Setter Property="HorizontalAlignment" Value="Center"/>
</Style>
答案 0 :(得分:0)
将样式放在资源字典中,在App.xaml中引用。
xmlns:dg="clr-namespace:Microsoft.Windows.Controls.Primitives;assembly=WPFToolkit"
<Style x:Key="DataGridColumnHeaderStyle" TargetType="{x:Type dg:DataGridColumnHeader}" >
<Setter Property="HorizontalContentAlignment"
Value="Center" />
</Style>
并在您的XAML中使用它。
答案 1 :(得分:0)
您可以创建一个用户控件,它封装您的自定义网格并在需要的地方重复使用。
答案 2 :(得分:0)
可能无法为所有DataGridTextColumn
定义全局样式,因为DataGridTextColumn
不是FrameworkElement
,而Style.TargetType
仅允许从{{1}派生的类型}。
因此,一种解决方法可能是将格式应用于所有 FrameworkElement
,如下所示:
DataGridCell