wpf中datagrid中DataGridComboxColumn中的排序
我有一个datagrid,它有一个列作为DataGridComboxColumn。显示现有数据、绑定itemsource、在选择更改时更新源正常工作 问题是,当我单击DataGridComboxColumn的标题时,它没有按字母顺序排序。当我选中它时,它实际上是按值排序,而我希望它按显示排序。当我在网上搜索时,它说我应该使用“SortMemberPath”属性,并将该属性分配给应该进行排序的属性 进行此操作时,排序仅在第一次单击标题时有效,但在后续单击时,不会进行排序。我在网上搜索,但没有找到解决办法 下面是我的DataGridComboxColumn的xamlwpf中datagrid中DataGridComboxColumn中的排序,wpf,wpf-controls,wpfdatagrid,datagridcomboboxcolumn,Wpf,Wpf Controls,Wpfdatagrid,Datagridcomboboxcolumn,我有一个datagrid,它有一个列作为DataGridComboxColumn。显示现有数据、绑定itemsource、在选择更改时更新源正常工作 问题是,当我单击DataGridComboxColumn的标题时,它没有按字母顺序排序。当我选中它时,它实际上是按值排序,而我希望它按显示排序。当我在网上搜索时,它说我应该使用“SortMemberPath”属性,并将该属性分配给应该进行排序的属性 进行此操作时,排序仅在第一次单击标题时有效,但在后续单击时,不会进行排序。我在网上搜索,但没有找到解
<DataGridComboBoxColumn Header="Database Name"
SelectedValueBinding="{Binding Path=Databases.DatabaseID, Mode=TwoWay, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}"
ItemsSource="{Binding Source={StaticResource ManageTablesVMInstance}, Path=Database}"
SelectedValuePath="DatabaseID" DisplayMemberPath="DatabaseName" SortMemberPath="DatabaseName" />
上面使用的某些术语的类型
数据库-可观察收集
ManageTablesVMInstance-ViewModel的实例
数据库-可观察收集
如果需要我方提供任何其他信息,请告知我。我正在使用.NET4.0
请帮忙
提前谢谢
问候,
萨马尔我自己找到了解决办法。在SortMemberPath中,而不仅仅是“DatabaseName”,我应该放“Databases.DatabaseName”。完成此操作后,排序将按预期工作。所以xaml看起来像这样
<DataGridComboBoxColumn Header="Database Name"
SelectedValueBinding="{Binding Path=Databases.DatabaseID, Mode=TwoWay, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}"
ItemsSource="{Binding Source={StaticResource ManageTablesVMInstance}, Path=Database}"
SelectedValuePath="DatabaseID" DisplayMemberPath="DatabaseName" SortMemberPath="Databases.DatabaseName" />
令人惊讶的是,没有人回答这个问题。我想知道为什么
问候,
撒马尔