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

UWP中App.xaml.cs重写OnNavigatedTo报错:找不到合适的重写方法

解决UWP App.xaml.cs重写OnNavigatedTo报错的问题

嘿,这个问题我太懂了!你之所以看到“no suitable method found to override”的错误,核心原因是找错地方啦!

为什么会报错?

OnNavigatedTo 是UWP中Page类的生命周期方法,专门用来处理页面导航完成后的逻辑。而你的App类继承的是Application基类,这个基类里根本没有OnNavigatedTo这个方法,自然就找不到可以重写的版本咯。

正确的解决办法

根据你的需求,分两种情况处理:

1. 处理单个页面的导航完成逻辑

如果是想给某个特定页面(比如MainPage)添加导航后的逻辑,应该去对应的Page类文件里重写OnNavigatedTo,比如:

namespace Notepad
{
    public sealed partial class MainPage : Page
    {
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            // 一定要先调用基类的方法,保证生命周期正常执行
            base.OnNavigatedTo(e);
            
            // 在这里写你需要执行的逻辑,比如初始化页面数据、加载资源等
        }
    }
}

2. 处理全局的导航完成事件

如果是想在整个应用层面监听所有页面的导航完成事件,可以注册Application类的Navigated事件,比如在App.xaml.cs里这么写:

namespace Notepad
{
    sealed partial class App : Application
    {
        public App()
        {
            this.InitializeComponent();
            // 注册全局导航事件
            this.Navigated += App_Navigated;
        }

        private void App_Navigated(object sender, NavigationEventArgs e)
        {
            // 这里可以处理所有页面导航完成后的全局逻辑
            // 比如记录导航日志、更新全局状态等
        }

        // 你的其他App类代码...
    }
}

总结

简单来说,OnNavigatedTo是页面专属的生命周期方法,Application类没有这个方法,所以不能在App.xaml.cs里重写。搞清楚不同类的生命周期方法归属,问题就迎刃而解啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:13:28