在哪里处理诸如SettingsPane.CommandsRequested
或之类的魅力事件是否重要,DataTransferManager.DataRequested
如果是,那么推荐的地方是什么 -Page
构造函数、OnNavigatedTo
方法、Page.Loaded
事件处理程序等?
user2237264
问问题
328 次
1 回答
2
对于全局注册,在 XAML 应用程序中最好的选择是在OnWindowCreated覆盖中。
这可确保代码在创建窗口后在正确的线程上运行(任何 GetForCurrentView API 都需要运行),并且每个窗口只运行一次,无论您的应用程序可能为不同的合同激活多少次。
或者,如果您的某些页面将注册这些事件而其他页面不会注册,或者如果您想要维护不同的解耦实现,则可以采用每页方法。在这种情况下,我建议使用OnNavigatedTo方法来注册它们,并确保在OnNavigatingFrom中取消注册它们。这很重要,因为其中一些事件(如 DataRequested)一次只能注册一个处理程序。因此,当前页面应在卸载之前取消注册其处理程序(因此 OnNavigat* ing *From 是比 OnNavigatedFrom 更好的选择)。
希望有帮助。
于 2013-04-26T20:12:39.023 回答