XAML:
<DataGridComboBoxColumn Header="Department"
ItemsSource="{Binding Source={StaticResource departmentViewSource}}"
DisplayMemberPath="Title" SelectedValuePath="ID" SortDirection="Ascending"
SelectedValueBinding="{Binding DepartmentID, Mode=TwoWay, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}"
SortMemberPath="lkpDepartments.Sequence" />
它似乎显示正确的文本,并正确链接到GUID。但是我尝试过的每个变体都不会按“序列”字段的顺序显示下拉列表(一个int,没有null,唯一)。这里的类似帖子不是重复的,因为我正在使用他们的解决方案,但仍然无法使用。
谢谢。
答案 0 :(得分:0)
SortMemberPath
适用于DataGrid
。当您单击列标题时,它将决定要排序的属性。
要对ComboBox
进行排序,您应该对departmentViewSource
进行排序。例如,您可以通过在XAML标记https://docs.microsoft.com/en-us/dotnet/framework/wpf/data/how-to-sort-and-group-data-using-a-view-in-xaml中向其添加一个SortDescription
来实现此目的。
如果在其他地方使用相同的CollectionViewSource
并希望使用不同的排序顺序,则应定义另一个排序顺序并将ComboBox
绑定到此。