VisualStudioのソリューション内にVB.netのフォームアプリケーションのプロジェクトがあります。
ここにC#のWPFアプリケーションのプロジェクトを追加作成しました。
この場合、
1.VBフォームからWPFを呼び出すにはどのようにすれば良いでしょうか?
2.また、WPFウィンドウをスタートアップ表示するにはどのような設定をすれば良いでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
自己解決
回答ありがとうございます。参考になりました。
実現できました。
- VB側のプロジェクトで、C#プロジェクトを参照設定します。
- C#側で作成した WPF (MainWindow)の呼び出しは、
Dim csprj As CSharpProject.MainWindow csprj = New CSharpProject.MainWindow csprj.Show()
とすることで、表示できました。
このとき困ったのが、C#側のapp.configに記述した設定情報を読めないこと。
これは
- C#側で記載していた内容をVB側のapp.confに転記。
- C#側のapp.confを削除。
- C#側で既存項目の追加でVB側のapp.comfを追加(このときリンクで追加にする)
で解決できました。
WPF側をスタートアップにするのは、ソリューションの設定でWPFをスタートアッププロジェクトに設定することで実現できそうです。
投稿2020/08/14 03:57
総合スコア11
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
やったことないので外している可能性が高いです^^;
VBFormApp
とCSWpfApp
プロジェクトがあるとします。
1.VBフォームからWPFを呼び出すにはどのようにすれば良いでしょうか?
Process.Start("CSWpfApp.exe")
そういうことじゃないですね?^^;
vb
1Public Class Form1 2 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 3 Dim window As New CSWpfApp.MainWindow 4 ElementHost.EnableModelessKeyboardInterop(window) 5 window.Show() 6 End Sub 7End Class
こういうことでしょうか??
CSWpfApp
プロジェクトを参照に追加したうえで、
PresentationCore
・PresentationFramework
・WindowsBase
・WindowsFormsIntegration
も参照に追加が必要です。
2.また、WPFウィンドウをスタートアップ表示するにはどのような設定をすれば良いでしょうか?
CSWpfApp
を起動するようにして、↑の逆をやればいいんじゃないでしょうか。
投稿2020/08/13 21:32
編集2023/07/22 10:27総合スコア9862
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
回答ありがとうございます。参考になりました。
実現できました。
- VB側のプロジェクトで、C#プロジェクトを参照設定します。
- C#側で作成した
WPF (MainWindow)の呼び出しは、
Dim csprj As CSharpProject.MainWindow csprj = New CSharpProject.MainWindow csprj.Show()
とすることで、表示できました。
このとき困ったのが、C#側のapp.configに記述した設定情報を読めないこと。
これは
- C#側で記載していた内容をVB側のapp.confに転記。
- C#側のapp.confを削除。
- C#側で既存項目の追加でVB側のapp.comfを追加(このときリンクで追加にする)
で解決できました。
WPF側をスタートアップにするのは、ソリューションの設定でWPFをスタートアッププロジェクトに設定することで実現できそうです。
投稿2020/08/14 03:52
総合スコア11
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。