0

次のコードを使用して、Windows フォーム アプリケーション内で WPF アプリケーションをホストしています。

var clientApplication = Process.Start("C:\\WpfApplication1.exe");

SetParent(clientApplication.MainWindowHandle, this.Handle);

WPF アプリは独立したアプリとして開いています。メイン ウィンドウ フォームで強制的に開く方法

4

1 に答える 1

3

「完全なアプリケーション」(デスクトップ アプリケーションの場合) には少なくとも 1 つのWindowオブジェクトが含まれますが、これはウィンドウであるため、内部でホストすることはできません。必要なことは、WPF アプリケーションから最上位の Windows を削除することです。その後、 ElementHostを使用して個々のビュー (UserControls またはその他のタイプの非ウィンドウ要素) をホストできます。

編集:これを行うには、winforms プロジェクトから WPF アプリケーション プロジェクトを参照するか、リフレクションを介して実行時にすべてを読み込む必要があることに注意してください。.Exe ファイルを別のウィンドウ内でホストする方法はありません。

于 2012-11-12T16:47:41.677 に答える