web-dev-qa-db-ja.com

DLLプロジェクトでWPFウィンドウを作成しませんか?

Visual StudioでDLL=プロジェクトでWPFウィンドウを作成できないのはなぜですか?

アプリケーションプロジェクトでウィンドウを作成し、それをDLLプロジェクトにコピーします。ユーザーコントロールを作成し、基本クラスを[ウィンドウ]に変更できることもわかりました。

しかし、この方法でそれをしなければならなかったなら、それは私がそうすべきではないからかもしれません...

49

プロジェクトを作成するときに、プロジェクトタイプがWPF User Control Libraryであることを確認してください。

問題がなければ、csprojファイルを編集し、<ProjectTypeGuids>の下のProject/PropertyGroup要素に次のGUIDが含まれていることを確認してください。

<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

また、プロジェクトでPresentationFrameworkとSystem.Xamlを参照していることを確認してください。そうしないと、コードでWPFが取得されません。

79
Florian Doyon

新しいWPFユーザーコントロール項目を追加して、それをウィンドウに変更してみてください。

新しいアイテムの追加-> WPF->ユーザーコントロール

XAMLの場合:

<UserControl>タグを<Window>として変更します

CS:

基本クラスをSystem.Windows.Controls.UserControlからSystem.Windows.Windowに変更します。

9
electron

1)「WPFアプリケーション」を作成する2)App.xamlを削除する3)プロジェクトのプロパティを変更する->アプリケーションの出力タイプ:クラスライブラリ(元はWindowsアプリケーションがある)

そうしないと、エラーが発生します。

「ライブラリプロジェクトファイルはApplicationDefinition要素を指定できません」

「プロジェクトファイルに無効なプロパティ値が含まれています」

7
Viliam

Visual StudioでDLLプロジェクトでWPFウィンドウを作成できないのはどういうことですか?プロジェクトを右クリックした場合、そこにウィンドウを追加するオプションがありません?

その場合は、WPFプロジェクトタイプではないプロジェクトタイプを作成したことを意味すると思います。しばらく前にWinFormsプロジェクトをアップグレードして、代わりにWPFを使用したいときに似たようなものに遭遇しました-詳細については この質問 を参照してください。

4
Andy