【发布时间】:2013-04-24 07:30:19
【问题描述】:
我试图找到一种方法来配置 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 以在不破解事件处理程序的情况下执行此操作?
【问题讨论】: