![](/img/trans.png)
[英]Best approach to pass data back to previous page when go back in Windows Phone
[英]How to go to previous page in windows phone 8 when back button is pressed
我在基于Windows Phone C#的应用程序中有一个主页或登录页面,用户在其中输入登录详细信息,并在成功登录后将用户重定向到page2。 在这里,用户将看到一个包含很少项目的列表框。 从此列表框中选择一项后,将打开一个名为“ Threadx”的新页面。(其中x是单击列表框中的x项目时打开的每个页面)
当用户在该线程页面“ Threadx”上时,他可能会收到敬酒通知,并且该线程将使用该线程上的新答复或答案进行更新。
但是,当用户单击“后退”按钮时,“ ThreadX”页面不会关闭,而是会转至其以前的状态,在该状态中,消息数量较少,依此类推,直到应用程序关闭。
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
if (e.NavigationMode == NavigationMode.Back)
{
return;
}
}
我想知道是否可以在单击“后退”按钮时关闭“ Threadx”页面,而不会影响其他“ Threadx + 1”,“ Threadx + 2” ...“ Threadx + n”页面。
任何帮助将非常感激。
通常,当您离开页面并导航到另一页面时,窗口会将页面保留在堆栈中。 如果要通过按“后退”按钮导航到上一页,可以执行以下操作:
OnNavigatedTo
添加到OnNavigatedTo
方法:
Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed;
为HardwareButtons_BackPressed
方法添加定义:
private void HardwareButtons_BackPressed(object sender, BackPressedEventArgs e)
{
e.Handled = true;
if (Frame.CanGoBack)
Frame.GoBack();
}
不要忘记将Windows.Phone.UI.Input
添加到名称空间列表。
我得到它的另一种方法是在我的“线程”页面的onnavigateto方法中使用以下代码,并且对我有用。 让我知道是否有优雅的方法或更好的方法。
if (e.NavigationMode == NavigationMode.Back)
{
NavigationService.Navigate(new Uri("/View/Page2.xaml", UriKind.Relative));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.