SortDirection在WPF中总是升序的

本文关键字:升序 WPF SortDirection | 更新日期: 2023-09-27 18:07:11

这是我的数据网格片段:

<DataGrid Margin="0,4,0,0" Grid.Row="2" CanUserSortColumns="True" x:Name="grvDocs" Sorting="grvDocs_Sorting" AutoGenerateColumns="False">
 <DataGrid.Columns>
                <DataGridTemplateColumn Header="Efile ID" Width="100" SortMemberPath="d.DocumentID">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding DocumentID}"/>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>
...

这是c#代码:

 private void grvDocs_Sorting(object sender, DataGridSortingEventArgs e)
    {
        DataGridColumn column = e.Column;
        ListSortDirection direction = (column.SortDirection != ListSortDirection.Ascending) ? ListSortDirection.Ascending : ListSortDirection.Descending;
        //set the sort order on the column
        column.SortDirection = direction;
        e.Handled = true;
        BindDocuments(0, "LastStatusChangedDateTime", e.Column.SortDirection);
    }

然而当我检查e.Column.SortDirection时,它总是升序的。你知道怎么解决这个问题吗?我更喜欢WTF而不是WPF

SortDirection在WPF中总是升序的

由于结合体是Text="{Binding DocumentID}",所以看起来SortMemberPath="d.DocumentID"应该是SortMemberPath="DocumentID"。如果你只想显示文本,你也可以使用DataGridTextColumn并设置Binding属性,这只是一个提示。希望帮助…