【问题标题】:How to add a WPF Window to a Class Library Project [duplicate]如何将 WPF 窗口添加到类库项目 [重复]
【发布时间】:2023-03-13 15:42:01
【问题描述】:

我今天遇到了这个问题,我想在我现有的类库项目中添加一个 WPF 窗口,但它在“添加新项目”列表中不存在。

我找到了一个解决方案,只是想在这里发布它,因为我在其他地方找不到它。

【问题讨论】:

  • 在发布自我回答的问题之前,请确保没有重复。现在你可以证明你不是那个 7 岁孩子的抄袭者answer
  • @Sinatr 我确实进行了搜索,但没有出现。它可以被标记为重复。

标签: c# .net wpf window


【解决方案1】:

解决方案是在记事本等文本编辑器中打开 .csproj。

在第一个 PropertyGroup xml 标记下添加以下行。

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

保存更改并重新加载项目。 该项目现在可以正常添加 WPF Windows。

完整的 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>

【讨论】:

  • 完全正确。我也不得不这样做。此外,如果您从 Winform 打开一个窗口,则在调用 myWIndow.ShowDialog() 之前需要此行 ElementHost.EnableModelessKeyboardInterop(myWindow); 以便窗口将正确地从用户那里获得键盘输入。该方法位于System.Windows.Forms.Integration; 命名空间中。不知道这可能会浪费您的时间!
  • 别忘了添加引用 > 程序集 > 选择 System.Xaml > 单击确定
猜你喜欢
  • 1970-01-01
  • 2011-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-09
  • 1970-01-01
  • 2018-09-14
  • 1970-01-01
相关资源
最近更新 更多