如何在.Net Core的WPF Application项目中添加XAML窗口?
问题根因
该问题由Visual Studio 2019的WPF项模板适配缺陷导致,具体分为两种场景:
- VS2019 16.8之前的旧版本未针对.NET Core(含.NET 5及之前的Core系列版本)完善WPF项模板匹配逻辑,右键菜单的「Window (WPF)」模板会错误调用.NET Framework的纯后台代码模板,未关联XAML生成逻辑
- 安装VS时未完整勾选.NET桌面开发的相关组件,导致WPF for .NET Core的XAML项模板未被正确注册到VS的添加项列表中
相关疑问解答
使用.NET Core开发WPF项目不需要手动创建XAML文件,你只需要补充完成以下遗漏的配置/操作步骤即可恢复正常的添加流程:
1. 修复VS组件配置
- 打开Visual Studio Installer,选择对应的VS2019实例点击「修改」
- 切换到「工作负荷」标签,确认已勾选「.NET 桌面开发」负载,且右侧可选组件列表中勾选了「适用于 .NET Core 的 WPF 模板」相关项
- 完成组件安装后重启VS,重试添加窗口操作即可
2. 校正项目文件配置
如果组件修复后仍无效果,可手动校正项目配置:
- 右键项目选择「编辑项目文件」,确认项目根节点的Sdk属性为
Microsoft.NET.Sdk.WindowsDesktop,且PropertyGroup节点下存在<UseWPF>true</UseWPF>配置:
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop"> <PropertyGroup> <OutputType>WinExe</OutputType> <TargetFramework>netcoreapp3.1</TargetFramework> <UseWPF>true</UseWPF> </PropertyGroup> </Project>
- 保存项目文件后重新加载项目,此时右键添加菜单会正确识别WPF项模板,选择「WPF 窗口」即可同时生成.xaml和对应的.xaml.cs后台文件
3. 临时补全方案
如果临时不想修改VS配置,可手动完成文件关联:
- 右键文件夹选择「添加>文本文件」,命名为
自定义窗口名.xaml,写入基础WPF窗口结构:
<Window x:Class="你的项目命名空间.自定义窗口名" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="自定义窗口名" Height="450" Width="800"> <Grid> </Grid> </Window>
- 再添加对应的
自定义窗口名.xaml.cs后台代码,SDK风格的项目会自动识别两者的关联关系,编译时可正常生成逻辑。
内容的提问来源于stack exchange,提问作者Omortis
相关产品推荐
相关产品推荐

