排序WPF DataGrid,MVVM样式

时间:2009-12-09 16:01:52

标签: wpf datagrid mvvm wpftoolkit

我正在尝试使用WPF Toolkit DataGrid进行排序。我的DataGrid行是视图模型的实例。行的视图模型为每列显示视图模型。每列都是模板化为不同用户控件的数据。这就是我的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绑定到视图模型,该模型是使用用户控件模板化的数据,该控件将名称显示为文本块。它还显示一些其他图形信息,这就是它显示在用户控件中的原因。

这样做的问题是我无法对Name列进行排序。我希望在公开Name视图模型的行视图模型上实现IComparable<T>可以解决问题,但它看起来不像WPF数据网格关心它实现IComparable<T>

有没有人对如何最好地解决这个问题有任何建议?

1 个答案:

答案 0 :(得分:0)

answer就是我想要的。