WPF Datagrid:取消排序事件(WPF Bug?)

时间:2011-10-08 16:41:30

标签: wpf sorting header

我想自己处理所有排序,所以在Datagrid的_Sorting事件中,我设置了e.Handled = True。但是,WPF仍会触发集合刷新,并且似乎忽略了Handled标志。

当我查看堆栈跟踪时,我看到了:

PresentationFramework.dll!MS.Internal.Data.CollectionViewProxy.Refresh() + 0x2a bytes   
PresentationFramework.dll!System.Windows.Controls.ItemCollection.RefreshOverride() + 0x53 bytes 
PresentationFramework.dll!System.Windows.Data.CollectionView.Refresh() + 0x44 bytes 
PresentationFramework.dll!System.Windows.Controls.DataGrid.PerformSort(System.Windows.Controls.DataGridColumn sortColumn) + 0xbe bytes  
PresentationFramework.dll!System.Windows.Controls.Primitives.DataGridColumnHeader.OnClick() + 0x5d bytes    

这是WPF中的错误吗?因为Handled属性不应该阻止这些调用被触发吗?

1 个答案:

答案 0 :(得分:0)

为什么不考虑将DataGrid.CanUserSortColumns / DataGridColumn.CanUserSort属性设置为false?

您要执行的操作可能与Sorting事件无关。