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すると、常に昇順です。この問題を解決する方法はありますか? WPFというよりWTFのような気がします。

4

1 に答える 1

0

バインディングが であるため、であるSortMemberPath="d.DocumentID"べきであると継ぎ目があります。また、テキストのみを表示したい場合は、プロパティを使用して設定することもできます。希望は助けます...SortMemberPath="DocumentID"Text="{Binding DocumentID}"DataGridTextColumnBinding

于 2013-04-03T18:10:21.760 に答える