C# Windows 8应用程序-处理魅力事件的最佳位置是什么?

C# Windows 8应用程序-处理魅力事件的最佳位置是什么?,c#,windows-8,windows-runtime,winrt-xaml,C#,Windows 8,Windows Runtime,Winrt Xaml,在哪里处理诸如请求的设置span e.commands或DataTransferManager.DataRequested之类的charms事件是否重要?如果是,建议在哪里处理?一个页面构造函数,导航到方法,页面加载的事件处理程序等?用于全局注册,您在XAML应用程序中的最佳选择是覆盖 这可以确保在创建窗口后,代码在正确的线程上运行(这两个线程都是任何GetForCurrentView API工作所必需的),并且对于每个窗口只运行一次,而不管您的应用程序可能为不同的合同激活了多少次 或者,如果您

在哪里处理诸如请求的
设置span e.commands或
DataTransferManager.DataRequested
之类的charms事件是否重要?如果是,建议在哪里处理?一个
页面
构造函数,
导航到
方法,
页面加载的
事件处理程序等?

用于全局注册,您在XAML应用程序中的最佳选择是覆盖

这可以确保在创建窗口后,代码在正确的线程上运行(这两个线程都是任何GetForCurrentView API工作所必需的),并且对于每个窗口只运行一次,而不管您的应用程序可能为不同的合同激活了多少次

或者,如果您的一些页面将注册这些事件,而其他页面将不注册,或者您希望维护不同的解耦实现,则可以采用每页方法。在这种情况下,我建议使用该方法注册它们,并确保在中注销它们。这很重要,因为其中一些事件(如DataRequested)一次只能注册一个处理程序。因此,当前页面应该在卸载之前注销其处理程序(因此onNavigate*ing*From比OnNavigatedFrom更好)

希望有帮助