获取 运行 应用程序 WebUI::WebUIApplication 并添加事件处理程序

Getting running aplication WebUI::WebUIApplication and adding an EventHandler

我正在尝试将 EventHandler 添加到我的 Windows 运行时应用程序,但正在执行类似以下操作:

CxHelper^ cxHelper = ref new CxHelper();
auto activatedEventHandler = ref new Windows::UI::WebUI::ActivatedEventHandler(cxHelper, &CxHelper::WindowActivated);

Windows::UI::WebUI::WebUIApplication::Activated += activatedEventHandler;   

只会使应用程序崩溃,这里是 CxHelper header:

public ref class CxHelper sealed
{
public: 
void WindowActivated(Object^ sender, Windows::ApplicationModel::Activation::IActivatedEventArgs^ eventArgs);
}

为了从 XAML 个应用程序中获取 CoreApplication,我通常会这样做:

Windows::ApplicationModel::Core::CoreApplication::GetCurrentView();

然后添加我需要的事件,但是对于这个特定的案例我不知道该用什么,我如何让 WebUIApplication 工作?

我知道我也可以使用 WinJS.Application.activated 从 WinJS 执行此操作,但我需要该触发器才能在我的 WINRT 组件中工作。

当我初始化插件时,我创建了自己的任务(使用 std::thread),并在其中尝试将 EventHandler 添加到 WebUI::WebUIApplication,但显然 除非我直接从插件主线程 执行它,否则它不起作用,现在一切正常,我只需要仔细阅读异常以了解问题所在。