获取运行应用程序WebUI :: WebUIApplication并添加EventHandler

时间:2016-02-25 16:30:21

标签: windows-runtime cordova-plugins winjs c++-cx

我正在尝试将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标题:

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组件中工作。

1 个答案:

答案 0 :(得分:0)

当我初始化插件时,我创建了自己的Task(使用std :: thread),从内部我试图将 EventHandler 添加到 WebUI :: WebUIApplication ,但显然除非我直接从插件主线程执行,否则它不起作用,一切正常,我只需要仔细阅读异常以了解错误。