0

例外をスローする可能性のある WPF ウィンドウ ダイアログ内に、いくつかのカスタム ユーザー コントロールがあります。私がやりたいことは、それらのユーザー コントロールの 1 つによって例外がスローされたときに、そのウィンドウ ダイアログのみを消去することです。ただし、これらのコントロールは独自のクリック イベントを処理するため、ウィンドウ自体から try-catch にラップする場所が見つかりません。

私が考えることができる唯一の回避策は、ユーザー コントロールにイベント SomethingWentWrong を実装し、WPF ウィンドウ内でそれをサブスクライブすることです。しかし、これは物事を行うための非常に醜い方法のように思えます。

より良いオプションはありますか?

4

1 に答える 1

1

単一の .xml 内で例外を簡単にトラップするグローバルな方法はありませんWindow

にサブスクライブするとApplication.DispatcherUnhandledException、 で発生する例外をトラップする方法が得られる可能性がありますDispatcher。これは、最も一般的なユーザー インターフェイスの「イベント」を処理しますが、アプリケーション全体に適用されます。

于 2013-02-14T16:10:22.400 に答える