我正在windows phone app中创建somany页面。当按下后退按钮时如何进入上一页。当我是clcik后退按钮时,它将转到第一页。
例如我在第4页。每当我cilck backbutton我想去第3页但它会转到第1页。 我使用下面的代码。
public selectbus()
{
this.InitializeComponent();
Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed;
}
void HardwareButtons_BackPressed(object sender, Windows.Phone.UI.Input.BackPressedEventArgs e)
{
Frame rootFrame = Window.Current.Content as Frame;
if (rootFrame != null && rootFrame.CanGoBack)
{
rootFrame.GoBack();
e.Handled = true;
}
}
请有人帮助我。
答案 0 :(得分:1)
首先,检查您是否按以下方式导航(例如,从第1页到第2页):
this.Frame.Navigate(typeof(NameOfYourPage));
然后,在您要添加HardwareButtons_BackPressed
的页面上,检查您是否有以下几行:
using Windows.UI.Xaml;
using Windows.Phone.UI.Input;
然后,您的代码应如下所示:
//In constructor
HardwareButtons.BackPressed += HardwareButtons_BackPressed;
//Later in code
void HardwareButtons_BackPressed(object sender, BackPressedEventArgs e)
{
Frame frame = Window.Current.Content as Frame;
if (frame == null)
{
return;
}
if (frame.CanGoBack)
{
frame.GoBack();
e.Handled = true;
}
}
这对我有用,它也适合你!
答案 1 :(得分:0)
订阅App.xaml.cs中的BackPressed事件,而不是其他地方。看看这里接受的答案Windows Phone 8.1 Universal App terminates on navigating back from second page?。