1

まあ、基本的に私は少しふざけたり、実験したりしていました.WPFとWinFormsを混ぜようとするアイデアを思いつきました.このアイデアの理由は、既存のWinFormsプロジェクトで利用したいものを持っていた/見つけたからです.

最初に WPF プロジェクトから .xaml ファイルをインポートしようとしましたが、惨めに失敗しました。それらを BlaBla.xaml.cs としてインポートしましたが、うまくいきませんでした。次に、「追加 > 新しい項目...」で「WPF ユーザー コントロール (XAML)」ファイルを調べましたが、それは私が望んでいたものではありませんでした。同じ ".exe" の同じプロジェクトで、WinForms の WPF で 1 つずつ、2 つのウィンドウを操作したかったのです。

そこで次は別のテクニックを使ってみました。新しい「WPF ユーザー コントロール」を作成しましたが、「ユーザー コントロール」から既存のコードを完全に削除し、WPF プロジェクト .xaml「MainWindow.xaml」から xaml コードをコピーして貼り付けただけです。その後、ユーザー コントロールの名前を「MainWindow」に変更しました。

次に、ボタンのクリックごとに既存の Main.cs (WinForm ウィンドウ) から MainWindow.xaml を表示するという問題が発生しました。最初に Application.Run(new MainWindow()); を試しました。しかし、それは惨めに失敗したので、伝統的な方法を試しました

MainWindow MainWpf = new MainWindow();
MainWpf.Show();

私も...のようなものを試しました...

MainWpf.btn_num_1.Content = "3"; (A button inside the xaml window)

また、XAML ウィンドウ内で WinForm ウィンドウのトラフ ボタンを制御しようとしましたが、すべて正常に動作しました。

さて、私の質問です。これはこれを簡単かつシンプルに機能させることになっていますか?

4

1 に答える 1

1

シンプルなアダプターを使用して、WPF コントロールを WinForms アプリケーションに、または WinForms コントロールを WPF アプリケーションに埋め込むことができます。この固有の対称性により、ハイブリッド アプリケーションを構築して、他のプラットフォームのコントロールを混在させることができます。Michael Sorens が、WPF と WinForms の相互運用性に関する実用的なガイドを提供します

https://www.simple-talk.com/dotnet/.net-framework/mixing-wpf-and-winforms/

于 2013-10-19T19:23:26.977 に答える