对WPF数据网格排序时保留选择

对WPF数据网格排序时保留选择,wpf,datagrid,Wpf,Datagrid,对WPF数据网格进行排序时,标准行为是丢失所选项目。使用WinForms DataGridView可以通过挂接CellMouseDown事件来还原所选项目,但WPF DataGrid没有这些事件之一 也可以通过在排序事件中提供自定义排序逻辑来保留排序顺序,但是在使用默认排序逻辑时,是否有任何方法可以保留当前选择 澄清:当用户单击列标题时进行排序。如果该网格上有唯一字段,请在调用排序方法sort之前保存该字段,然后将所选项目设置为具有该唯一字段的对象…在完成默认排序后,困难在于找到要附加处理程序的

对WPF数据网格进行排序时,标准行为是丢失所选项目。使用WinForms DataGridView可以通过挂接CellMouseDown事件来还原所选项目,但WPF DataGrid没有这些事件之一

也可以通过在排序事件中提供自定义排序逻辑来保留排序顺序,但是在使用默认排序逻辑时,是否有任何方法可以保留当前选择


澄清:当用户单击列标题时进行排序。

如果该网格上有唯一字段,请在调用排序方法sort之前保存该字段,然后将所选项目设置为具有该唯一字段的对象…

在完成默认排序后,困难在于找到要附加处理程序的事件。我可以在排序开始之前钩住排序以获取所选项目,但我需要在排序运行后触发一些事件来重新应用它。我想这取决于您调用排序的位置和方式:)。。。您没有提供这些信息…默认的排序行为是在用户单击列标题时应用的。如果我没有弄错的话,您需要实现它,对吗?我的印象是,点击标题并不能将其从框中排序?