2

我有两个页面(main.xaml 和 page1.xaml)。在主页页面中单击按钮时,将显示 1.xaml。在第 1 页按后退键,然后立即按开始按钮。应用程序将进入休眠状态。现在恢复应用程序 onNavigateFrom 被首先调用。由于我在 onNavigateFrom 方法中使用了状态,因此得到了无效操作异常。

有没有人知道解决这个问题。我粘贴了下面的代码

public partial class Page1 : PhoneApplicationPage
{
    public Page1()
    {
        InitializeComponent();
    }
    protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
    {
        base.OnNavigatedTo(e);
    }
    protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e)
    {
        base.OnNavigatedFrom(e);
        if (State.ContainsKey("test"))
        {

        }
    }
    protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
    {
        base.OnBackKeyPress(e);
      //  Thread test = new Thread();
        Thread.Sleep(1000);
    }
}
4

1 回答 1

0

您的问题可以通过在您使用“状态”的行之前添加此行来解决

if(e.NavigationMode != System.Windows.Navigation.NavigationMode.Back)

但是,实际问题在这里并没有解决。即恢复后,您不能从 Page1 返回 MainPage,因为 BackStack 已被先前的 BackKeyPress 删除。

于 2012-06-02T18:51:53.497 回答