1

我的情况:

  • MVVM
  • ListView+Details(自定义用户控件)
  • 绑定到 MV.Items 的列表 (IsSynchronizedWithCurrent=true)
  • 绑定到 MV.Items.Current 的详细信息
  • MV.Items.Count == 100
  • 大约 0.2 秒读取详细信息(懒惰模式)

当我按住列表上的向下箭头时,会发生非常奇怪的事情:

  • 列表项目顺序更改
  • 当前随机顺序的变化
  • CPU 使用率急剧增加,最终全部挂起。

我读过一些帖子,说应该在后台启动计时器或运行处理程序,但我无法做到这一点,因为所有绑定 WPF 都为我做了。

有什么方法可以指示我的 DetailsControl 中的绑定,在接受 CurrentItem 之前等待一段时间?还是我应该从干净的解决方案中辞职并在我的 MV 中编写自定义代码来处理它?

4

1 回答 1

0

请参阅我的 codeplex 项目: http ://wpfcollections.codeplex.com/

有 LazyCurrentCollection 应该会有所帮助。

于 2010-04-21T05:06:27.580 回答