0

App1 と App2 という 2 つの WPF アプリケーションを自分で作成しました。App2 を App1 に埋め込みたい。

現在、私はこれを試しています:

App2 app2 = new App2();
object content = app2.Content; //which is a grid
app2.Content = null;
mainGridOfApp1.Children.Add(content as UIElement);

表示されますが、いくつかの問題があります。

  • 正しく表示されません。ボタンの位置と他の UIElements はすべて台無しです。
  • これは画面全体をカバーしますが、mainGridOfApp2 ははるかに小さいサイズに固定されています。のような効果ですWindowState.Maximized
  • App2にカスタムスタイル(テーマ)を適用しましたが、App2のApp.xamlが読み込まれていないため、カスタムスタイルが適用されません。どうすれば適用できますか?

App2 を App1 にシームレスに埋め込むにはどうすればよいですか? App2 を別のプロセスとして開始し、App1 を親として設定したくありません。これは、App1 が持つ UI コンポーネントの上に常に存在することを意味するためです。

編集: App2 を App1 に埋め込みました。App2 のメイン グリッドを に配置し、ウィンドウからUserControlロードしました。UserControlApp1 側では、UserControl参照後に App2 の を呼び出しただけです。

4

1 に答える 1

0

App2 アセンブリを App1 アプリケーションに読み込み、コンテンツに表示する Window/UserControl のインスタンスを作成できます。

型を参照したり、必要なインターフェイスを使用して共通のアセンブリを作成したりできるように、App1 にいくつかの変更を加える必要があります。

ソリューション (App2 が独自のプロセスを持ち、ホストされていることを含まない) は、ソース コードの変更に依存すると考えてください。

于 2013-08-02T09:38:52.350 に答える