我正在尝试使用WPF工具包DataGrid进行排序。我的数据报的行是视图模型的实例。该行的视图模型为每列显示视图模型。每列都是模板化到不同用户控件的数据。这就是我的数据报的列声明的样子:
<tk:DataGrid.Columns>
<tk:DataGridTemplateColumn Header="Name" MinWidth="150" Width="150">
<tk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ContentPresenter Content="{Binding Path=NameViewModel}"/>
</DataTemplate>
</tk:DataGridTemplateColumn.CellTemplate>
</tk:DataGridTemplateColumn>
<tk:DataGridTemplateColumn Header="Data Dependencies" MinWidth="350" Width="Auto">
<tk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ContentPresenter Content="{Binding Path=DependenciesViewModel}"/>
</DataTemplate>
</tk:DataGridTemplateColumn.CellTemplate>
</tk:DataGridTemplateColumn>
</tk:DataGrid.Columns>
Name
绑定到使用将名称显示为文本块的用户控件进行数据模板化的视图模型。它还显示一些其他图形信息,这就是它在用户控件中显示的原因。
这样做的问题是我失去了对
姓名
列。我希望实现
IComparable<T>
在显示名称视图模型的行视图模型上,这样做是可行的,但它看起来不像WPF数据网格关心它实现的那样。
i可比较<t>
.
对于如何最好地解决这个问题,有人有什么建议吗?