1

这是我的数据网格片段:

<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。

4

1 回答 1

0

它接缝SortMemberPath="d.DocumentID"应该是SortMemberPath="DocumentID",由于绑定是Text="{Binding DocumentID}"。如果您只想显示文本,也可以使用DataGridTextColumn并设置属性,只是提示。Binding希望有帮助...

于 2013-04-03T18:10:21.760 回答