c# - 如何检查 OnNavigatedTo 是否由 Windows Phone 8.1 通用应用程序中的后退按钮触发?

标签 c# winrt-xaml windows-phone-8.1 win-universal-app

我想这是一个很简单的问题,但我似乎无法弄明白..

我有一个在 OnNavigatedTo 事件上运行代码的 MainPage.xaml。 如果用户使用硬件后键导航到此页面,我该如何禁用它?

MainPage => Page2 使用 HW BACKKEY => MainPage.xaml//不要运行代码

MainPage => Page3 => MainPage.xaml//运行代码

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    if (!TheUserNavigatedBackFromAnotherPageUsingTheBackkey)
    {
        // RUN FRESH CODE
    }
    else
    {
        // DO NOTHING
    }  
}

亲切的问候, 尼尔斯

最佳答案

可以查看NavigationEventArgs的NavigationMode。

if (e.NavigationMode == NavigationMode.Back)
{

 // navigation is going backward in the stack

}

这意味着导航在堆栈中向后移动,但不一定意味着按下后退按钮。例如,通过调用 Frame.GoBack() 方法,它仍将向后导航。

关于c# - 如何检查 OnNavigatedTo 是否由 Windows Phone 8.1 通用应用程序中的后退按钮触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24972853/

相关文章:

c# - POST 表单数组没有成功

c# - .NET 词典具有相同的键和值,但不是 "equal"

c# - 在 Windows 8.1 GridView 中不显示 Visibility=Collapsed 的项目

xaml - 如何将 AppBarButton 图标添加到 Windows Phone 8.1 中的普通按钮?

windows-phone-8.1 - 为什么我的 WP8.1 Store 应用程序没有调用 OnSuspending 事件?

javascript - 如何使用 WinJS 在 Windows Phone 8.1 中保存图像

c# - Clr 命名空间映射到默认 xaml 命名空间

C#,模式 - 许多条件

xaml - Windows 应用项目不支持类型

windows - 导航到分组 GridView 中的特定组标题(win store app)