我最近正在开发一个使用WPF工具包(和扩展工具包)中的datagrid的WPF应用程序
我正在使用datagridtemplatecolumn,因为我在某些用户的某些值上显示了工具提示。其他列是datagridtextcolumns。
我可以通过在状态上添加sortmemberpath来排序状态,但status是一个数字(1,2,3,4,5 ..),我将这些数字转换为另一列的名称。如果我按这个sortmember路径排序,我首先得到1然后是2,然后是3等,但我想按字母顺序对转换后的值进行排序。
<Toolkit:DataGridTemplateColumn x:Name="dgtcStatus" Header="Status" SortMemberPath="Status_W52" Width="*">
<Toolkit:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock x:Name="Status" Text="{Binding Path=Status_W52, Converter={StaticResource StatusConverter}}">
<TextBlock.ToolTip>
<ToolTip Visibility="{Binding Path=Status_W52, Converter={StaticResource VisibilityConverter}}">
<TextBlock Text="{Binding Path=Discription_W52, Converter={StaticResource DiscriptionConverter}}"/>
</ToolTip>
</TextBlock.ToolTip>
</TextBlock>
</DataTemplate>
</Toolkit:DataGridTemplateColumn.CellTemplate>
</Toolkit:DataGridTemplateColumn>
有人有想法吗?
答案 0 :(得分:1)
您可以将Status_W52从int升级为更复杂的类型吗?
public Status_W52
{
int NumericValue {get;set;}
string Name {get;set;}
}
您的Converter将获取Status_W52的完整实例,通过“NumericValue”解析,返回您的int进行排序,但也可以更新传递的ref的“Name”属性,稍后您可以对其进行排序..