gpt4 book ai didi

wpf - 在 DataGridTextColumn 中为 TextBlock 创建样式

转载 作者:行者123 更新时间:2023-12-02 19:49:13 24 4
gpt4 key购买 nike

我想创建一个全局样式,将 DataGrid 内的所有 TextBlock 控件的 VerticalAlignment 设置为 Center > 或在 DataGridTextColumn 内。

我不想将以下内容复制到每个 DataGridTextColumn 中,因为它感觉重复。

<DataGridTextColumn Header="Some Property" Binding="{Binding SomeProperty}">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="VerticalAlignment" Value="Center"></Setter>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>

我尝试了类似以下的操作,但它不起作用,因为 DataGridTextColumn 不是从 FrameworkElementFrameworkContentElement 继承的。 DataGrid 本身确实如此,但我尝试的任何进一步包装都会导致错误:

<Style TargetType="DataGridTextColumn">
<Setter Property="ElementStyle">
<Setter.Value>
<Style TargetType="TextBlock">
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
</Setter.Value>
</Setter>
</Style>

最佳答案

创建样式作为静态资源

<UserControl.Resources>
<Style x:Key="verticalCenter" TargetType="{x:Type TextBlock}">
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
</UserControl.Resources>

然后您可以将其分配给DataGridTextColumn的ElementStyle

<DataGridTextColumn ElementStyle="{StaticResource verticalCenter}" />

关于wpf - 在 DataGridTextColumn 中为 TextBlock 创建样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20352231/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com