0

我的应用程序中有两个页面。导航遵循 MainPage > EditPage > MainPage。MainPage 是起始页面,编辑页面可能是 NavigatedTo (单击按钮)和 NavigatedFrom 使用硬件后退按钮。如果 EditPage 中发生某些操作,我想在用户希望返回 MainPage 时通知 MainPage。我已经引用了http://mobile.dzone.com/articles/passing-values-between-windows但我不确定如何相应地修复 MainPage OnNavigatedTo 事件。到目前为止,我所拥有的如下

MainPage.xaml.cs

protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        //If action in EditPage occurred, determine that here
        ??
    }

编辑页面.xaml.cs

protected override void OnNavigatedFrom(NavigationEventArgs e)
    {
        base.OnNavigatedFrom(e);

        //check to see if action occurred in EditPage, and if so, inform MainPage
        if (_wasEdited == true)
        {
            MainPage mp = e.Content as MainPage;
            if (mp != null)
                mp.Parameter = true;
        }
    }
4

2 回答 2

1

您可以在 App.xaml.cs 中有一个应用级别变量

public bool isThereAnyChange = false;

在您的 EditPage.xaml.cs 中,当您进行更改时,请更新“isThereAnyChange”。

private void updateChangeStatus()
{
    (App.Current as App).isThereAnyChange = true;
}

然后在 MainPage.xaml.cs 中查看上述变量。

protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        //If action in EditPage occurred, determine that here
        if((App.Current as App).isThereAnyChange)
              //The change is there do accordingly here.
    }
于 2013-09-20T14:28:04.180 回答
0

要在页面之间传递值,您可以使用查询字符串或应用程序状态变量,就区分导航而言,只需检查 NavigatedTo 事件参数的 e.URI 属性,就是这样

于 2013-09-20T13:46:54.910 回答