0

在 Metro 应用程序中,从 pageA 导航到 pageB 在 pageAthis.Frame.Navigate(typeof(pageB))中使用,并且在 pageB 中this.Frame.GoBack()使用返回导航。

用户从 pageB 返回后,首先调用 pageA 的哪个方法?

我正在寻找类似onActivityResultandroid的东西。

4

3 回答 3

2

PageA 的构造函数是第一个被触发的方法

 public sealed partial class PageA : App1.Common.LayoutAwarePage
 {
    public PageA()
    {
        //this is the first code to be fired
    }
  }
于 2013-03-22T23:24:37.630 回答
2

为了使答案更加丰富多彩 - 当 pageA 的默认NavigationCacheMode值为时,首先调用构造函数Disabled,但在其他情况下可能/根本不会调用它,实际上可能值得将其设置为 NavigationCacheMode 至少暂时Enabled如果您希望快速返回该页面。

更确定的是处理OnNavigatedTo并从那里获取导航参数对象。只要确保你没有传递比短字符串或其他基本类型之一更复杂的东西(字节、Int16、Uint16、Int32/int、UInt32、Int64、UInt64、Single/float、Double、Char、Boolean、String , Guid似乎受支持Frame),否则当您想在应用程序停用时保存状态并调用Frame.GetNavigationState()保存时,您将无法使用控件的内置状态保存机制(LayoutAwarePage这样做)。

于 2013-03-24T04:52:32.453 回答
0

我同意 Theo Kouzelis 的观点,构造函数是第一个被解雇的方法。然后是 onNavigatedTo();

但是,如果您希望根据 pageB 上的结果在 pageA 上执行某些任务,则必须创建一个静态对象来保存值。

于 2013-03-24T04:16:58.633 回答