1

私の場合:

  • MVVM
  • ListView+Details (カスタム UserControl)
  • MV.Items にバインドされたリスト (IsSynchronizedWithCurrent=true)
  • MV.Items.Current にバインドされた詳細
  • MV.Items.Count == 100
  • 詳細を読むのに約0.2秒(レイジーモード)

リストの下向き矢印を押したままにすると、非常に奇妙なことが起こります。

  • リスト項目の順序変更
  • ランダムな順序での現在の変更
  • CPU 使用率が大幅に増加し、最終的にすべてがハングします。

タイマーを開始するか、バックグラウンドでハンドラーを実行する必要があるという投稿を読みましたが、すべてのバインディング WPF が私のために行うため、それを行うことはできません。

CurrentItem を受け入れる前にしばらく待つように DetailsControl のバインディングに指示する方法はありますか? それとも、クリーンなソリューションをやめて、それを処理するために MV にカスタム コードを記述する必要がありますか?

4

1 に答える 1

0

私のコードプレックス プロジェクトを参照してください: http://wpfcollections.codeplex.com/

役立つはずの LazyCurrentCollection があります。

于 2010-04-21T05:06:27.580 に答える