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

如何在WinUI 3中使用XAML继承?遇到WMC0001错误该怎么解决?

WinUI 3 XAML类继承报错WMC0001解决方案

WinUI 3 完全支持 XAML 类继承功能,你遇到的 WMC0001 错误是基类定义、XAML 命名空间声明不符合 WinUI 3 规范导致的,可按以下步骤排查修复:

  • 第一步:确认基类YourBaseClass定义符合要求
    基类必须是public访问级别的纯代码类,不能关联自身的XAML视图,且需要继承你需要的基础UI类型(如Page、UserControl等),示例代码如下:
    namespace MyApp;
    
    public class YourBaseClass : Page
    {
        // 此处可定义公共依赖属性、通用页面逻辑等
    }
    
  • 第二步:修正XAML命名空间声明
    WinUI 3 不再使用clr-namespace格式声明本地命名空间,统一采用using:前缀,修改你的XAML代码如下:
    <local:YourBaseClass x:Class="MyApp.ChildClass"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="using:MyApp">
    
        <!-- 子页面自定义内容 -->
    
    </local:YourBaseClass>
    
  • 第三步:匹配子类后台代码的继承关系
    打开ChildClass.xaml.cs后台代码,显式声明子类继承自YourBaseClass:
    namespace MyApp;
    
    public sealed partial class ChildClass : YourBaseClass
    {
        public ChildClass()
        {
            InitializeComponent();
        }
    }
    
  • 第四步:清理缓存重新生成
    如果修改后仍有报错,关闭VS,删除项目根目录下的.vs、bin、obj文件夹,重新打开项目执行重新生成即可。

内容的提问来源于stack exchange,提问作者Felix

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 04:06:03