MVVM パターンを利用する中規模の WPF アプリケーションに取り組んでいます。ViewModel はINotifyPropertyChanged
、それぞれのビューを更新するために使用します。
このアプローチは、1 つの問題を除いて完全に機能します。このアプリケーションを長期間 (3 ~ 7 日間) 実行したままにすると、ビュー (アプリ全体のすべてのビュー!) がバインドされたプロパティの更新を突然停止します。
ViewModel にブレークポイントを設定すると、PropertyChanged
問題がないように呼び出されて、楽しく動作します。ただし、View がバインドされている ViewModel オブジェクトのいずれかの getter にブレークポイントを設定すると、getter が呼び出されることはありません。
私はこの時点で困惑しており、この問題を適切にデバッグする方法さえ知りません。Visual Studio の出力ウィンドウでデータ バインディング エラーを確認しましたが、すべて正常に見えます。WPF データ バインディング エンジンがバックグラウンドでクラッシュしたかのようです。AppDomain.UnhandledException
このアプリは未処理の例外 (および)も監視Dispatcher.UnhandledException
していますが、例外はスローされていません。
概要: 長期間経過した後、View はデータ バインディングの更新を停止しますが、ViewModel は引き続き PropertyChanged イベントを呼び出しています。
何かアドバイス???