Technorati 标签: silverlight
四.关于OnNavigatedTo和OnNavigatedFrom方法
我觉得这两个方法的名字起的不太好,有时候容易混淆,如果把OnNavigatedTo改为OnNavigatedToThisPageFromOther,把OnNavigatedFrom改为OnNavigatedFromThisPageToOther就会很清晰了,当然这只是帮助我们记忆的一种方法了。下面是MSDN中对这两个方法的一些建议:
OnNavigatedTo:重写 OnNavigatedTo 方法以检查导航请求并且准备供显示的页面。例如,可以加载请求的数据并且启用或禁用可视化元素。通常是使用 OnNavigatedTo 方法,而非为 Loaded 事件创建事件处理程序。最好使用 OnNavigatedTo 方法,因为只在每次页面成为活动页面时调用该方法一次。Silverlight 框架在每次将元素添加到可视化树时引发 Loaded 事件,在激活某一页面时该事件可能会多次发生。
OnNavigatedFrom:重写 OnNavigatedFrom 方法以便在页面成为非活动时对该页面执行最后的操作。例如,可以更新与该页面相关的数据。通常是使用 OnNavigatedFrom 方法,而非为 Navigated 事件创建事件处理程序。最好使用 OnNavigatedFrom 方法,因为不必再从 NavigationService 对象移除事件处理程序以避免对象生存期问题。