2011-02-03 28 views
3

WPF以外のアプリケーションを使用しているため、WPFユーザーコントロールのみを作成できます。私のこれを回避するには、私のウィンドウをusercontrolsとして作成し、wpfウィンドウをシミュレートするwpf usercontrol(ElementHostを使用)をホストする一般的なwinformを作成しました。ElementHost - ウィンドウを開くときに空白が表示される

すべては私の開発マシン(WinXP VM)ではうまく動作しますが、クライアントマシン(VMと物理、両方のWindows 7)ではウィンドウが一度開いて正常に動作します。しかし、彼はそれらを閉じてからそれらを開くと、白い白だけです。窓は閉鎖されていて、閉鎖のたびに処分されています(私はそれらをメモリに残しても同じことが起こりました)。クライアントは、アプリケーションを閉じて、再びウィンドウを表示するには、それを再び起動する必要があります。

リフレッシュコールを追加しようとしましたが、elementhostを使用していないものは何も動作していません。何か案は?!それはすべてのウィンドウで発生します。

+0

問題を再現する郵便番号です。 –

+0

それほど多くはない、ちょうどElementHost.Child =新しいWPFUserControl();私が言ったように、それはすべてのユーザーコントロールでこの問題を抱えていますが、Windows 7のみです。 –

答えて

3

申し訳ありませんが、私はまだコメントする権利はありません。しかし、いくつかの質問や考えられる方向があります。

デバッガを接続して何が起こっているのか見てみましたか?それはまだ入力イベントを取得しているのか、イベントを再描画していますか、それともハングしていますか?ウィンドウが開いたときにWPFユーザーコントロールが読み込まれますか?ああ、最初のチャンスの例外を破るようにしてください。おそらくそれはWPF + CLRの問題であり、再度ロードする機会はありません。

Spy ++は何が起こっているかを教えてくれる子供の窓については何も言いませんか?

ああ、それは彼のWin 7ボックスでのみ起こるのでしょうか?

別のことは、単純なユーザーコントロールを作成して同じことを行うとどうなりますか?それは再現ですか?

新しいウィンドウではなく、ページのコンテンツであれば再現しますか?

誰かがこの問題を抱えているかどうかを調べているうちに見つけたばかりの記事です。 http://www.switchonthecode.com/tutorials/wpf-tutorial-using-wpf-in-winforms

+0

ここでは、それらの間のinteropのためのgotchasに関する古い記事があります。彼らが話している処分部分が問題であるかどうか分からない。 http://blogs.msdn.com/b/scoberry/archive/2006/09/01/735844.aspx –

+0

このページにはWin 7の問題も含まれています。何らかの理由により、WPFコントロールが別のdll。 http://myramserialize.blogspot.com/2010/03/winformswpf-interop-elementhost-not.html –

+0

これ以上のコメントをお待ちしています。私はこのことをあなたのウインドウに関して見つけたかもしれないが、これは調べるべき別のものかもしれない、それはスクロールバーに関するものだが、あなたの問題への道を私に思い出させた: http://social.msdn.microsoft.com/Forums/en-US/wpf /スレッド/ 6f88715b-b9ca-4d4f-974b-97b334d26347/ –

関連する問題