You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 9 WinUI 3 应用无法引用WinUI 3社区工具包控件的问题

.NET 9 WinUI 3 应用无法引用WinUI 3社区工具包控件的问题

我完全理解你在将UWP应用迁移到WinUI3 + .NET9过程中遇到的这个控件引用难题——尤其是之前依赖UWP Toolkit的Grid Splitter控件,换到新环境后在命名空间上卡壳确实挺闹心的,咱们来一步步排查解决:

首先先确认几个基础前提:

  • 你安装的CommunityToolkit.WinUI.Controls.Sizers NuGet包版本是否适配.NET9?毕竟.NET9属于较新的版本,一定要确保安装的是针对.NET9兼容的最新稳定版。
  • 安装完包后有没有重启Visual Studio?有时候IDE需要重启才能正确识别新添加的NuGet包命名空间,这是很容易忽略的小细节。

接下来聚焦命名空间的问题:
你尝试了两个命名空间:

xmlns:toolSizer="using:CommunityToolkit.WinUI.Controls.Sizers"

和

xmlns:toolSizer="using:CommunityToolkit.WinUI.Controls"

其实Grid Splitter控件确实属于Sizers子包,所以第一个命名空间才是正确的。如果还是无法识别,不妨试试下面的操作:

  • 清理并重建项目:右键项目选择「清理」,之后再选择「生成」;或者直接用菜单栏的「生成」→「清理解决方案」,再重新「生成解决方案」——项目缓存有时候会导致命名空间无法被识别。
  • 检查项目文件(.csproj):打开项目的.csproj文件,确认里面已经正确引入了这个NuGet包,应该能看到类似这样的条目:
    <PackageReference Include="CommunityToolkit.WinUI.Controls.Sizers" Version="x.x.x" />
    
    如果没有的话,手动添加这一行后保存,再重新加载项目。
  • 重置IDE缓存:如果IntelliSense完全没反应,可以尝试删除项目根目录下的隐藏.vs文件夹,然后重启Visual Studio并重新加载项目,这通常能解决IDE识别异常的问题。

另外,你可以先在代码后台做个验证:在MainWindow.xaml.cs里添加一行引用:

using CommunityToolkit.WinUI.Controls.Sizers;

如果代码后台能正常识别这个命名空间,说明包已经安装成功,问题大概率出在XAML的缓存或IDE识别上,按照上面的步骤处理应该就能解决了。

备注:内容来源于stack exchange,提问作者Bob Balok

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 11:09:31