2012-01-27 5 views
3

wpfアプリケーションからwinformを開く方法は?これはコードで行う必要がありますが、通常の関数wpfアプリケーションからwinformをプログラムで開く方法

Form.Show(); 

は機能しません。フォームの可視性を変更できるものが必要ですが、このフォーム内のGUI関連の機能にはアクセスできません。

+0

「うまくいかない」とはどういう意味ですか?間違いはありますか?もしそうなら、それは何ですか?なぜこれがうまくいかないのか明らかな理由はないので、より多くの情報を提供する必要があります。 –

+0

このような場合は、上記のフォームで呼び出すときにショー機能にアクセスできないことを意味します。ソリューション内の別のプロジェクトからこのフォームにアクセスしようとしています。何らかの理由で、winformsプロジェクトがwpfプロジェクトではなく、それを呼び出すときに機能しました。 – Tim

答えて

3

適切な参照がある場合は、Windowsフォームアプリケーションと同じように、WPFアプリケーションでもWindowsフォームを使用できます。これは、正常に動作する必要があります:

YourForm form = new YourForm(); 
form.Show(); 

しかし、私は一般的に、これはWindowsがWindowsFormsHostコントロールを使用してWPFウィンドウ内のユーザーコントロールなどのコンテンツをフォーム含めるように手直ししようとしていることをお勧めします。これは、ウィンドウの子育てがもう少しきれいに機能するため(WPFのすべてのウィンドウなので)、少しクリーナーになる傾向があります。

+0

@Timあなたのフォームが正しく定義されていることを確認してください - しかしこれは簡単なはずです...フォーム上にコンパイルエラーが出ていますか?フォームから今何とか派生していないのですか? –

+0

私は仕事に戻るときにコードを見なければなりませんが、私はWindowsFormsHostからそのフォームをホストして、それが役立つかどうかを調べるつもりです。 – Tim

+0

さて、今日はプロジェクトを開いてテストしました。出来た。 VSでいくつかのビルド問題/バグがあったに違いない。 – Tim

関連する問題