刷新后设置MultiSelectCollectionView的CurrentPosition

时间:2012-08-24 11:42:14

标签: wpf observablecollection

在调用Refresh之后,是否有解决方法来设置MultiSelectCollectionView的CurrentPosition?

我声明如下:

MultiSelectCollectionView<customersViewModel> Customers { get; set; } 

然后我在批量更新后进行刷新:

Customers.Refresh();

这很好但是我丢失了当前的光标位置 - 在调用Refresh()之后它会回到位置1。

理想情况下,我想称之为:

Customers.CurrentPosition = _currentPosition;
刷新后

,但它是一个只读属性。

任何帮助,非常感谢。

谢谢,

1 个答案:

答案 0 :(得分:0)

我不知道MultiSelectCollectionView是什么,但假设它实现了ICollectionView,你可以使用一些方法来浏览视图中当前选定的位置。

您似乎可以使用MoveCurrentToPosition方法重新选择刷新前选择的项目。

var _currentPosition = Customers.CurrentPosition;
Customers.Refresh();
Customers.MoveCurrentToPosition(_currentPosition);