1

ChildWindow コントロールにいくつか問題があります。未処理の例外が app.xaml.cs でキャッチされた後に表示されるエラー ウィンドウ コントロールを作成しました。問題は、エラー ウィンドウを表示しようとすると、正常に動作することもありますが、この厄介な例外が発生することもあります。

メッセージ: COM コンポーネントへの呼び出しからエラー HRESULT E_FAIL が返されました。

スタック トレース: MS.Internal.XcpImports.CheckHResult(UInt32 hr) で MS.Internal.XcpImports.SetValue(INativeCoreTypeWrapper obj、DependencyProperty プロパティ、Boolean b) で System.Windows.DependencyObject.SetValue(DependencyProperty プロパティ、Boolean b) で System .Windows.Controls.Primitives.Popup.set_IsOpen(ブール値) at System.Windows.Controls.ChildWindow.Show() at FrontEnd.SL.Util.GuiLogger.ShowErrorWindow(ErrorDetails 詳細、ErrorSeverity 重大度)


表示されるトレースは、ChildWindow の Show() メソッド内にあります。
つまり、私のコードは次
のとおりです。
errorWin.Show();
どこで ErrorWindow:ChildWindow

ヘルプがあれば大歓迎です..

4

2 に答える 2

1

ChildWindow コントロールを使用すると、いくつかの問題が発生しやすくなるように思えます。例外の結果として、現在の VisualTree が矛盾した状態または破損した状態になった場合はどうなりますか?

アプリケーションの境界内で未処理の例外を "処理" する必要がある最善の方法は、VisualRoot によって保持されている既存のオブジェクトを完全に置き換えることです。

于 2009-12-28T22:07:51.460 に答える
0

これは、子ウィンドウのコンテンツの読み込みに問題がある場合にも発生する可能性があります。私の場合、ユーザー コントロールのコード ビハインドとその xaml で異なる名前空間を指定したため、この不可解なエラーが発生しました。

于 2010-08-05T12:32:26.997 に答える