C# 将样式绑定到DataGridTextColumns元素样式

C# 将样式绑定到DataGridTextColumns元素样式,c#,wpf,binding,C#,Wpf,Binding,我有一个带有一些对象的数据网格。对象有一个名称、一个“类型”属性和一堆不相关的属性 根据类型是否为“MaterialType”,我想设置单元格文本块的样式(粗体和10px) 我从一个转换器开始。=>它获取类型并转换为字体大小 <DataGridTextColumn.ElementStyle> <Style TargetType="TextBlock"> <Setter Property="FontWeight" Value="{Binding

我有一个带有一些对象的数据网格。对象有一个名称、一个“类型”属性和一堆不相关的属性

根据类型是否为“MaterialType”,我想设置单元格文本块的样式(粗体和10px)

我从一个转换器开始。=>它获取类型并转换为字体大小

<DataGridTextColumn.ElementStyle>
    <Style TargetType="TextBlock">
        <Setter Property="FontWeight" Value="{Binding type, Converter={StaticResource ResourceKey=TypeToFontWeightConverter}}"/>
        <Setter Property="Padding" Value="10,0,0,0"/>
    </Style>
</DataGridTextColumn.ElementStyle>
然后绑定转换器

<DataGridTextColumn Binding="{Binding Name}"
                    Header="Name"
                    IsReadOnly="True"
                    Width="1*"
                    ElementStyle="{Binding type, Converter={StaticResource ResourceKey=TypeToStyleConverter}}"/>


一切都很好。但是没有样式。转换器没有被触发…

我想您应该研究使用a而不是转换器。

我想您应该研究使用a而不是转换器

<DataGridTextColumn Binding="{Binding Name}"
                    Header="Name"
                    IsReadOnly="True"
                    Width="1*"
                    ElementStyle="{Binding type, Converter={StaticResource ResourceKey=TypeToStyleConverter}}"/>