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

在.NET MAUI中如何从NavigatingFromEventArgs获取目标页面名称

在.NET MAUI中从NavigatingFromEventArgs提取目标页面名称

要从NavigatingFromEventArgs参数里提取目标页面名称,核心是利用参数的Target属性,根据不同导航场景处理:

常规页面导航场景

当目标是普通Page对象时,先做类型转换,再获取页面的类型名称或标题:

protected override void OnNavigatingFrom(NavigatingFromEventArgs args)
{
    if (args.Target is Page targetPage)
    {
        // 获取页面类的名称(如"SettingsPage")
        string pageTypeName = targetPage.GetType().Name;
        // 若页面设置了Title属性,可获取显示名称
        string pageDisplayName = targetPage.Title;

        // 示例:打印结果
        Console.WriteLine($"目标页面类型名:{pageTypeName}");
        if (!string.IsNullOrEmpty(pageDisplayName))
        {
            Console.WriteLine($"目标页面显示名:{pageDisplayName}");
        }
    }

    base.OnNavigatingFrom(args);
}

Shell路由导航场景

如果是基于Shell的路由导航,目标会是ShellNavigationTarget,可直接获取路由信息,再根据你的路由规则解析页面名称:

protected override void OnNavigatingFrom(NavigatingFromEventArgs args)
{
    if (args.Target is ShellNavigationTarget shellTarget)
    {
        string targetRoute = shellTarget.Route;
        Console.WriteLine($"目标路由:{targetRoute}");
        // 示例:若路由为"//Main/Settings",拆分获取页面名称
        string pageName = targetRoute.Split('/').LastOrDefault();
    }

    base.OnNavigatingFrom(args);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 00:26:01