我希望每次进入前台时都进行Windows Runtime Page刷新/重新加载。我曾尝试向Loaded事件添加处理程序,但Loaded事件仅在首次加载页面时触发,这与HTML的DOMContentLoaded事件不同。这样做的正确方法是什么?
感谢。
public sealed partial class MainPage : Page {
public MainPage() {
this.InitializeComponent();
this.NavigationCacheMode = NavigationCacheMode.Disabled;
this.Loaded += (s, e) => {
Debug.WriteLine("Loaded at " + DateTime.Now.ToString());
// Code that should be executed when the page goes to the foreground each time
};
}
}
答案 0 :(得分:1)
每次导航到页面时,都会调用OnNavigatedTo
方法(如您在问题中提供的MSDN页面中所述)。
您可以使用NavigationEventArgs
来确定发生了哪种导航并适当地处理此问题。在您的情况下,您将添加代码来刷新页面的内容。
正如Romasz所指出的那样,当你的应用恢复时,这对你的WinRT XAML堆栈没有帮助,因为在这种情况下页面没有接到OnNavigatedTo
的电话。
为此,您必须在应用中检测应用简历并向您的信息页(或其数据源/视图模型)发送消息以进行刷新。
请注意应用恢复/暂停指南(see MSDN)。