並べ替えをループするように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 を構成する方法はありますか?