あなたがWPFウィンドウにネストされたWin32子ウィンドウを表示しようとすると、エラーが発生している可能性があります寄宿的 HWND 必须是指定父级的子窗口。
「」
これは、この資料では、このエラーを修正する方法を説明し、Win32エラーの非常に典型的です。
私たちはされているMainWindow
新しいWPFコントロールを運ぶために他のウィンドウの一つに埋め込ま。通常の状況下で、我々は確かにそうしていないが、私たちは、コンテンツをレンダリングするときWPFの統合のプロセスを完了するために、国境を越えてしたい場合は、新しいウィンドウアップを埋め込む必要があります。
WPFを使用することができHwndSource
、WPFコントロールにカスタム使用して、継承のWin32ウィンドウをラップするHwndHost
WPFのWin32ウィンドウコントロールにパッケージ化することができるクラスを。ウィンドウハンドルとしてプロセス境界を越えて渡されるので、この方法は、あなたは、WPFコントロールディスプレイ全体に処理を完了することができます。
問題
埋め込まれたウィンドウをデバッグするときに、エラーコードが発生する場合があります。
System.InvalidOperationExceptionが:「宿泊HWNDは、子ウィンドウの親を指定しなければなりません。」
英語は以下のとおりです。
ホステッドHWNDは、指定した親の子ウィンドウでなければなりません。
原因と解決策
同じサブウインドウが窓で二回子ウィンドウに設定されているため、このエラーが発生します。
具体的には、使用してウィンドウでHwndHost
セットをAに続いて、Bサブ画面となり、新しいHwndHost
セットが新しい子ウィンドウになりました。
解決するには、ウィンドウを使用することを確認しなければならない唯一できるHwndHost
子ウィンドウ一度設定します。
私のブログはで開始されhttps://blog.walterlv.com/、および特色CSDNから解放されますが、それはめったに一度放出されない更新されます。
あなたが任意のブログの内容を理解していない表示された場合は、共有してください。私が建てDOTNET職業技術学院が参加することを歓迎します。
この作品は、ある非営利- -同一条件許諾4.0の国際ライセンス契約クリエイティブ・コモンズのライセンスのために。:、、使用を転載再投稿、しかし陸毅(リンク含むが署名した文書保管してくださいへようこそhttps://walterlv.blog.csdn.net/を、商業目的のために使用してはならない、記事に基づいて作業が同じライセンスを変更してください)リリース。ご質問があれば、してください私に連絡。