いくつものプロジェクトを作成していると、似たような画面を何度も使う事があると思います。
例えばログイン画面とか。
そんな時は共通するウィンドウをDLLにして、各プロジェクトからそのDLLを参照すのが良さそうだと思うのではないでしょうか?
WPFのウインドウやコントロールをDLL化する方法を解説します。
「クラス ライブラリ」では作れない
DLLを作るといえば、新しいプロジェクトで「クラス ライブラリ」を選択してDLL用のプロジェクトを作成する事を考えるかもしれません。
しかしこれ方法ではユーザーコントロールは作れてもウィンドウやカスタムコントロールを作る事が出来ません。
「WPF ユーザーコントロール ライブラリ」で作る
新しいプロジェクトで「WPF ユーザーコントロール ライブラリ」を選択してDLL用のプロジェクトを作成しましょう。
「WPF ユーザーコントロール ライブラリ」は「テンプレート」→「Visual C#」→「Windows」→「クラシック デスクトップ」の中にあります。
「WPF アプリケーション」をDLLにする
「WPF アプリケーション」として作成したプロジェクトの最終的な出力形式を「EXE」ではなく「DLL」に変更する事が出来ます。
変更の手順は以下の通りです。
手順1.出力の種類を変更
「WPF アプリケーション」として作成したプロジェクトのプロパティを開きます。
「アプリケーション」欄の「出力の種類(U):」を「クラスライブラリ」へ変更しましょう。
手順2.App.xamlのビルドアクションを変更
出力の種類を変えただけではビルドが出来ません。
プロジェクトの中にある App.xaml のプロパティを開きます。
ビルドアクションを「なし」に変更しましょう。
以上の手順を行えばビルドが正常終了するようになり、EXEの代わりにDLLが作られるようになります。
コメントをお書きください