后退按钮处理wp7

时间:2013-03-07 04:59:07

标签: windows-phone-7

我的问题是我有一个清单。当我长按列表中的某个特定项目时,它会打开一个上下文菜单,当我点击上下文菜单中的菜单项时,它会打开一个弹出窗口,所以按下硬件后退按钮我想再次返回列表。 所以这样做我的代码是:

protected override void OnBackKeyPress(object sender,System.ComponentModel.CancelEventArgs e)
    {
        if (calendarDescripton.Visibility == Visibility.Visible)
        {
            calendarDescripton.Visibility = Visibility.Collapsed;
            e.Cancel = true;
        }

    }

当我点击打开列表的按钮使用此代码后,应用程序退出,它也不会打开列表。

1 个答案:

答案 0 :(得分:0)

我认为在进行任何其他更改之前,首先应取消导航。试试这个

protected override void OnBackKeyPress(object sender,System.ComponentModel.CancelEventArgs e)
{
    if (calendarDescripton.Visibility == Visibility.Visible)
    {
        e.Cancel = true;
        calendarDescripton.Visibility = Visibility.Collapsed;
    }
}

如果这没有帮助,请在if条件下放置一个中断点,并检查它是否进入if内部

如果断点未命中,则意味着您的导航方法有问题。

如果您使用NavigationService.Navigate()方法进行页面导航,它应该可以正常工作。 否则,如果你正在使用, App.Current.RootVisual = new MyPage();,然后无法覆盖BackKey。