3

並べ替えをループするようにwpf DataGridを構成する方法を見つけようとしました: {昇順、降順、並べ替えなし} 繰り返しクリックした場合。

私はこれを書きました(しかし、それを愛していなかったので、このq):

<DataGrid AutoGenerateColumns="False">
    <DataGrid.Columns>
        <DataGridTextColumn Binding="{Binding DayOfWeek}" >
            <DataGridTextColumn.Header>
                <DataGridColumnHeader PreviewMouseLeftButtonDown="DataGridColumnHeaderClick">Day</DataGridColumnHeader>
            </DataGridTextColumn.Header>
        </DataGridTextColumn>
    </DataGrid.Columns>
    <sys:DateTime>1/2/3</sys:DateTime>
    <sys:DateTime>1/2/4</sys:DateTime>
    <sys:DateTime>1/2/5</sys:DateTime>
</DataGrid>
private void DataGridColumnHeaderClick(object sender, RoutedEventArgs e)
{
    var header = (DataGridColumnHeader) sender;
    if (header.SortDirection == ListSortDirection.Descending)
    {
        header.Column.SortDirection = null;
        e.Handled = true;
    }
}

イベントハンドラーをハッキングせずにこれを行うように DataGrid を構成する方法はありますか?

4

1 に答える 1