我的申请表中有两页。导航遵循MainPage> EditPage>主页。 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
??
}
EditPage.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;
}
}
答案 0 :(得分: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.
}
答案 1 :(得分:0)
要在页面之间传递值,可以使用查询字符串或应用程序状态变量,就区分导航而言,只需检查一下NavigatedTo事件参数的e.URI属性,就是这样