今天我遇到了一个问题,我想将一个WPF窗口添加到我的现有类库项目中,但在“添加新项”列表中找不到它。
我找到了解决方法,并想在这里发布,因为我在其他地方找不到它。
解决方法是用记事本这样的文本编辑器打开.csproj文件。
在第一个PropertyGroup xml标签下添加以下行。
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
保存更改并重新加载项目。现在该项目可以像正常情况下一样添加 WPF 窗口。
完整的 PropertyGroup xml 应该类似于以下内容:
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{11EE2F8C-DFCF-451D-BA3E-84A4FB858848}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>TestApp</RootNamespace>
<AssemblyName>TestApp</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
myWindow.ShowDialog()
之前添加此行ElementHost.EnableModelessKeyboardInterop(myWindow);
以便窗口可以正确地从用户处获取键盘输入。该方法位于 System.Windows.Forms.Integration
命名空间中。如果不知道这一点,可能会浪费您几个小时的时间! - Nik