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 № 1Quell'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.