/ / Accesso a CoreWindow da un componente di runtime di Windows Phone 8.1 - c #, c ++, silverlight, windows-runtime, windows-store-apps

Accesso a CoreWindow da un componente di runtime di Windows Phone 8.1 - c #, c ++, silverlight, windows-runtime, windows-store-apps

Sto cercando di accedere a CoreWindow da un componente di runtime di Windows Phone 8.1 C ++. Il componente deve reagire ad alcuni eventi lanciati da CoreWindow.Ho il seguente codice.

IAsyncAction^ MyClass::RegisterCoreWindowVisibilityChanged()
{
return CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync(CoreDispatcherPriority::High,
ref new DispatchedHandler(
[this]
{
auto eventHandler = ref new TypedEventHandler<CoreWindow^, VisibilityChangedEventArgs^>(this, &MyClass::OnCoreWindowVisibilityChanged);
Window::Current->CoreWindow->VisibilityChanged += eventHandler;
}
));
}

Funziona bene, quando l'applicazione che utilizza il componente è un'app universale, ma non riesce in un'applicazione Silverlight con un'eccezione di violazione di accesso.

0xC0000005: Access violation reading location 0x00000000.

Apparentemente Windows::Current restituisce null in un'applicazione Silverlight. C'è un modo per farlo in modo che funzioni in silverlight così come un'app di Windows Store?

risposte:

1 per risposta № 1

Quell'oggetto è disponibile solo in un'applicazione universale (come documentata).

Dovresti o condizionare la compilazione o considerare di passare a un'app universale per desktop e telefono.