Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
排序WPF数据网格,MVVM风格_Wpf_Datagrid_Mvvm_Wpftoolkit - Fatal编程技术网

排序WPF数据网格,MVVM风格

排序WPF数据网格,MVVM风格,wpf,datagrid,mvvm,wpftoolkit,Wpf,Datagrid,Mvvm,Wpftoolkit,我正在尝试使用WPF工具包DataGrid进行排序。我的DataGrid的行是视图模型的实例。行的视图模型为每列公开一个视图模型。每一列都将数据模板化到不同的用户控件。这就是我的DataGrid的列声明的样子: <tk:DataGrid.Columns> <tk:DataGridTemplateColumn Header="Name" MinWidth="150" Width="150"> <tk:DataGridTemplateColumn

我正在尝试使用WPF工具包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
列进行排序。我希望在公开名称视图模型的行视图模型上实现
IComparable
可以达到目的,但WPF数据网格似乎并不关心它实现了
IComparable

有人对如何最好地解决这个问题有什么建议吗?

这正是我想要的