按下后退按钮时如何转到Windows Phone 8中的上一页

krr*_*hna 0 c# windows-phone-7 windows-phone windows-phone-8 windows-phone-8.1

我在基于Windows Phone的c#应用程序中有一个主页或登录页面,用户输入登录详细信息,登录成功后用户被重定向到第2页.在这里,用户将看到一个包含少量项目的列表框.从此列表框中选择一个项目后,将打开一个名为"Threadx"的新页面.(其中x是单击列表框中的x项目时打开的每个页面)

当用户在此Thread页面"Threadx"上时,他可能会收到Toast通知,并且线程会在该线程上使用新的回复或答案进行更新.

但是当用户点击后退按钮时,"ThreadX"页面不会被关闭,而是进入其先前状态,其中消息数量较少,依此类推,直到应用程序关闭.

protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        base.OnNavigatedTo(e);
        if (e.NavigationMode == NavigationMode.Back)
        {
            return;
        }
    }
Run Code Online (Sandbox Code Playgroud)

我想知道是否可以在单击后退按钮时关闭此"Threadx"页面而不影响其他"Threadx + 1","Threadx + 2"......"Threadx + n"页面.

任何帮助将非常感激.

Mos*_*man 5

通常情况下,当您离开页面并导航到另一个页面时,窗口会将页面保留在其堆栈上.如果您想按下后退按钮导航到上一页,您可以执行以下操作:

OnNavigatedTo方法中添加以下行:

Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed;
Run Code Online (Sandbox Code Playgroud)

添加HardwareButtons_BackPressed方法的定义 :

    private void HardwareButtons_BackPressed(object sender, BackPressedEventArgs e)
    {
        e.Handled = true;
        if (Frame.CanGoBack)
            Frame.GoBack();
    }
Run Code Online (Sandbox Code Playgroud)

不要忘记添加Windows.Phone.UI.Input到命名空间列表.