后退按钮导航

时间:2014-05-20 16:52:19

标签: caliburn.micro

有没有办法使用Caliburn提供的导航服务和Windows Phone上的后退按钮。我有一个通用的应用程序,并使用Caliburn Micro beta 2.该应用程序有几个视图。我想使用后退按钮从一个屏幕导航到另一个屏幕,现在只有在每个页面中手动使用以下内容 -

Windows.Phone.UI.Input.HardwareButtons.BackPressed + = HardwareButtons_BackPressed;

此外,我使用Caliburn的导航服务从一个视图模型导航到另一个视图模型。即使我导航到另一个视图模型,Windows.Current.Content也不会从一个视图更改为另一个视图。当我使用以下代码时,这不会导致正确的后退导航 -

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 个答案:

没有答案