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

WinUI3开发时Windows.UI.Xaml.Controls命名空间找不到Expander类

问题根因
  • 命名空间引用错误:WinUI 3(Windows App SDK)的内置XAML控件不属于旧UWP体系的Windows.UI.Xaml.Controls命名空间,所有原生控件统一归属Microsoft.UI.Xaml.Controls命名空间,在错误的命名空间下查找自然无法识别Expander控件。
  • 开发环境版本不兼容:你参考的配置文档面向Visual Studio 2022环境,所有正式稳定版Windows App SDK(含WinUI 3)早已终止对Visual Studio 2019的支持。VS2019最高仅能兼容0.8版本之前的WinUI 3早期预览版,这些预览版本本身就没有内置Expander控件,无论怎么调整Nuget包都无法调出该控件。
修复方案
  • 升级开发工具:安装Visual Studio 2022 17.1及以上版本,安装时勾选「Windows应用SDK开发」对应工作负载,这是稳定开发WinUI 3应用的前提,不要继续在VS2019上调试高版本WinUI 3项目,否则会出现大量兼容性问题。
  • 检查项目依赖:确认项目仅安装了对应版本的Microsoft.WindowsAppSDK Nuget包,卸载所有混装的旧UWP版UI控件相关Nuget包,避免版本冲突。
  • 修正命名空间引用:
    1. XAML文件中,在页面根元素添加WinUI控件的命名空间声明:
      xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
      
      需要使用Expander时通过别名调用即可:
      <muxc:Expander Header="功能设置">
          <!-- 展开区域放置自定义内容 -->
      </muxc:Expander>
      
    2. C#后台代码中,引入正确的控件命名空间:
      using Microsoft.UI.Xaml.Controls;
      
  • 清理解决方案后重新生成项目,之前的控件识别错误会随编译缓存清理自动消失。

特殊情况说明:如果因环境限制无法升级到VS2022,没有办法在VS2019环境下使用WinUI 3原生Expander控件,只能自行实现展开折叠逻辑的自定义控件,或引入适配旧预览版的第三方控件库替代。

内容的提问来源于stack exchange,提问作者Ali BEN AMOR

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 11:48:52