跟随WinUI教程遇Frame.SourcePageType赋值失败问题求助
解决WinUI中Frame.SourcePageType赋值失败的问题
针对你遇到的Microsoft.UI.Xaml.Markup.XamlParseException错误,以下是几个常见的排查和解决步骤:
验证命名空间匹配
检查XAML根元素的xmlns:local声明,确保其指向的命名空间与NotePage类所在的命名空间完全一致。例如XAML中的声明应为xmlns:local="using:你的项目完整命名空间",而NotePage.xaml.cs中的命名空间定义需与其对应(如namespace YourProjectName;)。确认NotePage类的访问权限与基类
打开NotePage.xaml.cs,确保类定义为public sealed partial class NotePage : Page:- 必须是
public修饰符,否则XAML无法访问该类型 - 必须继承自
Microsoft.UI.Xaml.Controls.Page(或简写为Page,需提前引用命名空间)
- 必须是
清理并重建项目
Visual Studio的缓存可能导致XAML无法识别新创建的页面,执行以下操作:- 右键项目 → 清理
- 右键项目 → 生成
- 重新运行应用
检查拼写与大小写
XAML中local:NotePage的名称需与类名完全一致(C#大小写敏感),避免出现拼写错误或大小写不一致的情况。改用代码后台设置SourcePageType
如果XAML声明仍无法正常工作,可以移除XAML中的SourcePageType属性,在主窗口的构造函数或Loaded事件中添加代码实现:public MainWindow() { this.InitializeComponent(); rootFrame.SourcePageType = typeof(NotePage); }
内容的提问来源于stack exchange,提问作者El See
相关产品推荐
相关产品推荐

