2017-10-13 28 views
1

ちょっと、エラー処理に問題があります。基本的に私は、未処理の例外が発生したときにユーザーが実行したステップをユーザーが入力できるようにするポップアップを表示しようとしています。通常のC#ポップアップとして書いても問題ありませんが、xamlでポップアップを作成した場合はそうではありません。 xamlで作成した場合、
"アプリケーションはブレーク状態になりましたが、すべてのスレッドが外部コードを実行していたために表示するコードがありません"というメッセージが表示され、アプリケーションが終了します。Xaml未処理の例外ポップアップが表示されない

ここで、ポップアップをonclickイベントに追加すると、正しく表示されます。

AppDomain currentDomain = AppDomain.CurrentDomain; 
     currentDomain.UnhandledException += new 
UnhandledExceptionEventHandler(ShowExceptionPopUp); 

およびshow ExceoptionPopUp方法
ErrorPopup error = new ErrorPopup(sender, e); 

そして、私はそれが()のInitializeComponentに終了をステップ実行した場合ErrorPopクラス

InitializeComponent(); 
     this.errorSender = errorSender; 
     this.eventArgs = eventArgs; 

内部

。私は誰かが私のためにこの問題にいくつかの光を当てることができますか?

ありがとうございます。

+0

これをXAMLで実行する理由はありますか?私はそれがコードの背後にあるような何かをするだろう。 –

+0

スタイリングとコーディングの整合性を維持することが主な理由です.........そうでなければ、普通のC#ポップアップを作ります。 – Seamy

+0

ポップアップなどでは、完全なコントロールが必要で、XAMLでは難しいです。それで、なぜ私はコードの後ろにそれを固執するのだろうか。コードの調整や拡張も簡単です。私は、メッセージを表示するために入力を受け取り、コードの背後からダイアログとして開く 'Window'コントロールを作成します。私はあなたの答えを助けていないIMを知っていますが、あなたはアトミックと一貫性のためにXAMLのすべてをやろうとしているのであれば、あなたはあなたの解決策を見落としているかもしれません。 –

答えて

0

ちょっと最後に固定しました。発行はリソースがマルチスレッドであり、xamlが単一スレッドのみであることが可能であったということでした。痛いほど悩ましいが、すべての良い。ヘルプありがとう