Подтвердить что ты не робот

Нет создания окна WPF в DLL-проекте?

Есть ли причина, по которой Visual Studio не позволит мне создать окно WPF в проекте DLL?

Я "решил" его, создав окно в Application Project и скопировав его в свой проект DLL. Я также обнаружил, что могу просто создать UserControl и изменить базовый класс на "Window".

Но если бы мне пришлось это делать, возможно, потому, что я не должен этого делать...

4b9b3361

Ответ 1

Убедитесь, что тип проекта 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 в своем коде.

Ответ 2

Я делаю так: 1) создать "приложение WPF" 2) удалить App.xaml 3) изменить Свойства проекта → Тип вывода приложения: в библиотеку классов (первоначально это приложение Windows)

В противном случае вы получите ошибки:

"Файл проекта библиотеки не может указывать элемент ApplicationDefinition"

"Файл проекта содержит недопустимое значение свойства"

Ответ 3

Вы можете попробовать добавить новый элемент управления WPF и изменить его на Window.

Добавить элемент Item- > WPF- > User Control

В XAML:

Измените тег <UserControl> как <Window>

В CS:

Измените базовый класс от System.Windows.Controls.UserControl до System.Windows.Window.

Ответ 4

Что значит, что Visual Studio не позволит создать окно WPF в DLL-проекте? Вы имеете в виду, что если вы щелкните правой кнопкой мыши проект, нет возможности добавить туда окно?

Если это так, я думаю, это означает, что вы создали тип проекта, который не является типом проекта WPF. Я столкнулся с чем-то подобным, когда я хотел обновить проект WinForms, чтобы использовать WPF вместо этого - см. этот вопрос для получения дополнительной информации.