ViewModelでスローされた例外が、App.xaml.csのApplication_UnhandledExceptionにバブルアップしない次の状況があります。
ComboBoxのItemSourcePropertyにバインドされたViewModelにObservableCollectionがあります。ComboBoxのSelectedItemPropertyは、ViewModelのプロパティにバインドされています。
ユーザーがComboBoxのエントリを選択すると、ViewModelでプロパティが正しく呼び出されます。少しロジックが実行され、別のプロパティ(property2と呼ばれます)がViewModelに設定されます。ただし、property2には未処理の例外があります。例外は単に「消える」だけで、UIスレッドでは発生しません。
この問題を一般的に修正する方法や、スレッドの例外をキャッチする方法についての提案はありますか?
カスタムビルドのMVVMフレームワークがあることに注意してください。最初は、フレームワークの問題だと思いました。何時間もデバッグした後、Prism4(http://www.microsoft.com/download/en/confirmation.aspx?id=4922)をダウンロードして、StockTraderリファレンスアプリケーションで同様のシナリオを再現できるかどうかを確認することにしました。
まったく同じシナリオを再現できます!Prism4で例外を設定する方法の詳細を提供させていただきます。
Silverlightで未処理のすべての例外をキャッチするための一般的なアプローチに関するヘルプやポインタは、大歓迎です。
よろしく、トラビス