0
我想自己处理所有排序,所以在Datagrid的_Sorting事件中,我设置了e.Handled = True。但是WPF仍然触发集合刷新,并且似乎忽略了Handled标志。WPF Datagrid:取消排序事件(WPF Bug?)
当我看到堆栈跟踪,我看到:
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属性不应该阻止这些调用被触发吗?
因为如果我将CanUserSort设置为false,则列变为“不可点击”。他们没有得到焦点或显示排序箭头,他们变得静止。我想为我的集合实现自定义排序,而不是禁用排序UI。 – Muis