.net 在XAML中对数据网格排序时未反映列标题箭头
我有一个DataGrid,在XAML中定义了一些排序,如下所示:.net 在XAML中对数据网格排序时未反映列标题箭头,.net,sorting,wpfdatagrid,.net,Sorting,Wpfdatagrid,我有一个DataGrid,在XAML中定义了一些排序,如下所示: <CollectionViewSource x:Key="DefaultSort" Source="{Binding SearchResults}"> <CollectionViewSource.SortDescriptions> <scm:SortDescription PropertyName="ExternalOrgNo" Direction="Ascending"/&g
<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中。这增加了列标题箭头
<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" />
OP看起来不像是一个普通访客,所以在那一刻之前,我将他的解决方案作为答案发布: 将添加到中的。这增加了
列标题
箭头
<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" />
找到答案后,最好将其作为答案发布,并将其标记为已接受(是,打开,以便您可以自己回答!)这样,将来遇到您的问题的任何人都可以更容易地注意到问题的答案。如果CollectionViewSource的SortDescriptions
属性是在代码中设置的,并且在运行时会发生变化,那么设置常量SortDescription=“升序”
将是错误的,因为它不会反映当前的排序。