没有在DLL项目中创build一个WPF窗口?

是否有一个原因,为什么Visual Studio不会让我在DLL项目中创build一个WPF窗口?

我通过在应用程序项目中创build一个窗口并将其复制到我的DLL项目中来“解决”它。 我也发现我可以创build一个UserControl并将基类更改为“Window”。

但如果我必须这样做,也许是因为我不应该这样做…

在创build项目时确保项目types是WPF User Control Library

如果不是那么没有汗水,只需编辑csproj文件并确保Project/PropertyGroup下的<ProjectTypeGuids>元素包含以下GUID

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

另外,请确保在项目中引用PresentationFramework和System.Xaml,否则在代码中将不会获取任何WPF。

我这样做:1)创build“WPF应用程序”2)删除App.xaml 3)更改项目属性 – >应用程序输出types:到类库(最初有Windows应用程序)

否则你会得到错误:

“库项目文件不能指定ApplicationDefinition元素”

“项目文件包含一个无效的属性值”

你是什​​么意思,Visual Studio不会让你在DLL项目中创build一个WPF窗口? 你的意思是,如果你右键点击该项目,没有select在那里添加一个窗口?

如果是这样的话,我认为这意味着你创build了一个不是WPF项目types的项目types。 当我想升级一个WinForms项目来使用WPF时,我遇到了类似的事情 – 请参阅此问题以获取更多信息。

您可以尝试添加新的WPF用户控制项目,并将其更改为窗口。

添加新项目 – > WPF->用户控制

在XAML中:

<UserControl>标签更改为<Window>

在CS:

将基类从System.Windows.Controls.UserControl更改为System.Windows.Window