绑定覆盖DataGrid上的WPF样式触发器
我找到了一种在wpf datagrid中使用:,将布尔值转换为yes/no而不是True/False的方法,但是一旦这样做,此列就不可排序。我的代码如下:绑定覆盖DataGrid上的WPF样式触发器,wpf,.net-4.0,wpfdatagrid,wpf-style,Wpf,.net 4.0,Wpfdatagrid,Wpf Style,我找到了一种在wpf datagrid中使用:,将布尔值转换为yes/no而不是True/False的方法,但是一旦这样做,此列就不可排序。我的代码如下: <DataGridTextColumn Header=" Consolidated Company " IsReadOnly="True" MinWidth="100"> <DataGridTextColumn.ElementStyle> <Style TargetType="{x:Typ
<DataGridTextColumn Header=" Consolidated Company " IsReadOnly="True" MinWidth="100">
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="Margin" Value="5,0,5,0" />
<Style.Triggers>
<DataTrigger Binding="{Binding lRollupCompany}" Value="True">
<Setter Property="Text" Value="Yes" />
</DataTrigger>
<DataTrigger Binding="{Binding lRollupCompany}" Value="False">
<Setter Property="Text" Value="No" />
</DataTrigger>
</Style.Triggers>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
尝试重新进行排序只会使列恢复为显示True/False
<DataGridTextColumn Header=" Consolidated Company " Binding="{Binding lRollupCompany}" IsReadOnly="True" MinWidth="100">
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="Margin" Value="5,0,5,0" />
<Style.Triggers>
<DataTrigger Binding="{Binding lRollupCompany}" Value="True">
<Setter Property="Text" Value="Yes" />
</DataTrigger>
<DataTrigger Binding="{Binding lRollupCompany}" Value="False">
<Setter Property="Text" Value="No" />
</DataTrigger>
</Style.Triggers>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
是否有一种不涉及转换器的解决方案?如果您想更改给定的
数据网格
列的排序,您可以使用
获取或设置一个属性名或以句点分隔的属性名层次结构,该属性名指示要排序的成员
因此,在您的XAML中,您可以
<DataGridTextColumn ... SortMemberPath="lRollupCompany"/>
使用DataGridTemplateColumn
@Jon,您是否尝试设置
?@dkozl-Ugh,谢谢。发布一个答案,我会投你一票。这就解决了这个问题(我想这只是对WPF控件的一个极大的不熟悉)。