如何处理Windows Phone 7中的后退按钮?

时间:2011-10-03 06:13:48

标签: windows-phone-7 windows-phone-7.1

我有一个应用程序,主页包含很少的功能。详细解释 - 我在主页面中保存了调色板按钮。单击任何这些按钮时,将显示保存弹出窗口或调色板。当打开调色板或保存弹出窗口时,如何处理设备的后退按钮。在这些情况下按下后退按钮时,它应该只是让它们不可见并保持在主页面上。当主页面中没有执行任何操作时,它应该从应用程序中出来。我试图让他们的可见性在按下按钮后折叠。但它仍然在应用程序之外。

请指导我。提前谢谢。

3 个答案:

答案 0 :(得分:1)

覆盖PhoneApplicationPage.OnBackKeyPress,然后将CancelEventArgs.Cancel设置为true,如果您想阻止它实际返回。

protected override void OnBackKeyPress(CancelEventArgs args)
{
    if (PanelIsShowing)
    {
        HidePanel();
        args.Cancel = true;
    }
}

答案 1 :(得分:0)

后退按钮的行为与Microsoft的意图相同。

如果您更改其行为,则可能会使您的应用程序无法获得市场认证。

如果您想要后退按钮关闭弹出窗口,请将弹出窗口转换为页面,以便后退按钮导航回主页面。

答案 2 :(得分:0)

您需要使用

protected override void OnBackKeyPress(CancelEventArgs e)
{
    if (_popup.IsOpen)
    {
        _popup.IsOpen= false;
        e.Cancel = true;
    }
    else
    {
        base.OnBackKeyPress(e);
    }
}

这应该可以解决问题。