私の場合:
- MVVM
- ListView+Details (カスタム UserControl)
- MV.Items にバインドされたリスト (IsSynchronizedWithCurrent=true)
- MV.Items.Current にバインドされた詳細
- MV.Items.Count == 100
- 詳細を読むのに約0.2秒(レイジーモード)
リストの下向き矢印を押したままにすると、非常に奇妙なことが起こります。
- リスト項目の順序変更
- ランダムな順序での現在の変更
- CPU 使用率が大幅に増加し、最終的にすべてがハングします。
タイマーを開始するか、バックグラウンドでハンドラーを実行する必要があるという投稿を読みましたが、すべてのバインディング WPF が私のために行うため、それを行うことはできません。
CurrentItem を受け入れる前にしばらく待つように DetailsControl のバインディングに指示する方法はありますか? それとも、クリーンなソリューションをやめて、それを処理するために MV にカスタム コードを記述する必要がありますか?