我有一个DataGrid,在XAML中定义了一些排序,如下所示:
<CollectionViewSource x:Key="DefaultSort" Source="{Binding SearchResults}">
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="ExternalOrgNo" Direction="Ascending"/>
<scm:SortDescription PropertyName="ExternalBranchNumber" Direction="Ascending"/>
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
排序已正确应用于DataGrid,但没有指示网格上的排序。
查看后面代码中的视图,我看到了集合中的SortDescriptions,我尝试刷新视图,但它没有用。
如何让ColumnHeader箭头最初正确反映视图的SortDescription集合的状态?
更新:我找到了答案。我将SortDirection添加到DataGrid中的DataGridTextColumn。这添加了ColumnHeader箭头。
<DataGridTextColumn Header="Ext Firm #" Binding="{Binding ExternalOrgNo}" DisplayIndex="4" SortDirection="Ascending" Visibility="Visible" />
<DataGridTextColumn Header="Ext Branch #" Binding="{Binding ExternalBranchNumber}" DisplayIndex="5" SortDirection="Ascending" Visibility="Visible" />
答案 0 :(得分:2)
OP看起来不像普通访客,所以直到那一刻我发布他的解决方案作为答案:
将SortDirection
添加到DataGridTextColumn
中的DataGrid
。这增加了ColumnHeader
箭头。
<DataGridTextColumn Header="Ext Firm #"
Binding="{Binding ExternalOrgNo}"
DisplayIndex="4"
SortDirection="Ascending"
Visibility="Visible" />
<DataGridTextColumn Header="Ext Branch #"
Binding="{Binding ExternalBranchNumber}"
DisplayIndex="5"
SortDirection="Ascending"
Visibility="Visible" />