我正在构建一个 Windows 8 应用程序 (C#/XAML) 并使用该Frame.Navigate()
属性在页面之间移动。每个页面都有一个 AppBar 图标,它将刷新页面上的数据并设置DataContext
属性。这有效,并且在按下按钮后 UI 会相应更新。
当我导航到另一个页面时,我看到的问题就会出现,然后单击后退箭头返回上一页。
当OnNavigatedTo(NavigationEventArgs e)
方法运行时(单击后退箭头后),该e.Parameter
值是旧值(在我单击刷新按钮之前,DataContext
已更新)。
除了使用之外,我不知道如何更新参数值Frame.Navigate(typeof(PageTypeName), paramValue);
,但我不想启动导航操作。
我的问题是两方面的。
如何保持
DataContext
更改,以便当我返回页面时,我设置的值通过e.Parameter
方法公开OnNavigatedTo(NavigationEventArgs e)
。是否有某种参考材料可以解释 Win8 应用程序中的导航生命周期?
...或者我应该以不同的方式做这件事?