繁体   English   中英

导航回到其他页面(UWP,模板10)

[英]Navigating back to different page (UWP, Template 10)

我需要在导航时忽略页面,我尝试了以下操作:

public override async Task OnNavigatingFromAsync(NavigatingEventArgs args)
{
    if (args.NavigationMode == NavigationMode.Back)
    {
        args.Cancel = true;
        NavigationService.Navigate(typeof(MainPage));
    } else { 
        args.Cancel = false;
    }
    await Task.CompletedTask;
}

在我要离开的页面上,但似乎只取消了导航。

解决此问题的最佳方法是什么?

在要忽略的页面中,可以添加以下方法。 这将允许从导航历史记录中删除当前页面。

protected override void OnNavigatedFrom(NavigationEventArgs e)
{
    // here NavigationService is supposed to be an instance of Template10 INavigationService
    var backStack = NavigationService.FrameFacade.BackStack;
    if (backStack.Count > 0 && backStack.Last().SourcePageType == this.GetType())
    {
        backStack.Remove(backStack.Last());
    }

    base.OnNavigatedFrom(e);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM