Windows Phone 8.1全新推出.基本功能是后退按钮点击.这个功能不正常的是这款Windows Phone 8.1.这种行为还是我犯了错误.
下面的代码在主页中使用,但是这个代码在点击后也从所有其他类调用.我只需要在主页上访问以下方法.
请检查以下代码,并向我推荐好的解决方案.
请查看我的代码:
public HomePage()
{
this.InitializeComponent();
Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed;
}
void HardwareButtons_BackPressed(object sender, BackPressedEventArgs e)
{
}
Run Code Online (Sandbox Code Playgroud)
谢谢
Rom*_*asz 10
它运作正常.该BackPressed事件正在应用范围.我想到的两个选择:
编写可以识别当前调用它的Page的 eventhandler - 简单示例如下所示:
private void HardwareButtons_BackPressed(object sender, Windows.Phone.UI.Input.BackPressedEventArgs e)
{
Frame frame = Window.Current.Content as Frame;
if (frame == null) return;
if (frame.Content is HomePage)
{
e.Handled = true;
Debug.WriteLine("I'm in HomePage");
}
else if (frame.CanGoBack)
{
frame.GoBack();
e.Handled = true;
}
}
Run Code Online (Sandbox Code Playgroud)第二个选项 - Windows.Phone.UI.Input.HardwareButtons.BackPressed当您进入页面时订阅并在您离开页面时取消订阅.请注意,通过这种方式存在一些陷阱 - 您必须正确处理OnNavigatedTo,OnNavigatedFrom,Suspending和Resuming(更多关于生命周期).还要注意,订阅应该在其他人之前完成 - 例如NavigationHelper.
一些评论 - 上面的代码应该有效,但它还取决于其他情况:
BackPressed(在App.xaml.cs中) - 请记住,通常会在订阅时触发事件BackPressed| 归档时间: |
|
| 查看次数: |
2015 次 |
| 最近记录: |