【发布时间】:2013-09-25 07:40:25
【问题描述】:
我的应用程序中有两个页面。导航遵循 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
??
}
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;
}
}
【问题讨论】:
-
为什么不在 EditPage 的 Base 上添加一个 prop,然后在 navigationdFrom 时,在导航前发出信号。
-
我不确定你的意思是什么?
-
您可以为所有页面创建一个基本页面。这可以帮助您解决很多问题,并且您可以重复使用页面提供的相同功能,例如 CRUD。
-
我还没有真正尝试过这样的事情。有没有更简单的方法?我使用了一个保存到隔离存储的自定义设置类,但是在这种方法中保存某种布尔值似乎有点过头了。
-
基类更合适,我认为它会帮助你越多地扩展你的应用程序(在你的情况下添加更多地图),这可以将那些重复的代码隔离在地图继承的单个类中
标签: c# windows-phone-7 windows-phone-8