我试图找到一种方法来配置 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 来做到这一点?