开发者

WPF ListView.CurrentChanged too fast for binding

My case:

  • MVVM
  • ListView+Details(custom UserControl)
  • List bound to MV.Items (IsSynchronizedWithCurrent=true)
  • Details bound to MV.Items.Current
  • MV.Items.Count == 100
  • about 0.2sec to read details (lazy mode)

When I hold the down arrow on the list, very strange things happen:

  • list items order change
  • current chang开发者_运维技巧es in the random order
  • CPU usage drastically increments and eventually all hangs.

I've read some post that one should start the timer or run handler in the background, but I am not able to do that, since all the binding WPF does for me.

Is there some way to instruct the binding in my DetailsControl, to wait a while before accepting CurrentItem? Or should I just resign from the clean solution and write custom code in my MV to handle that?


See my codeplex project: http://wpfcollections.codeplex.com/

There is LazyCurrentCollection that should help.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜