Domanda

Il programma '[3188] Sprudelsuche.WP.exe' è terminato con il codice -1073741819 (0xc0000005) 'Violazione di accesso'.

Questa è l'ultima riga nell'output, prima che ottenga

'Sprudelsuche.WP.exe' (CoreCLR:.):Caricato "C:\windows\system32\en-US\mscorlib.debug.resources.dll".Il modulo è stato costruito senza simboli.[Caliburn.Micro.View] ERRORE:System.NullReferenceException:Il riferimento non impostato su un'istanza di un oggetto.in Caliburn.Micro.View.SetContentPropertyCore (Destinazione oggetto, Visualizzazione oggetto)

L'effetto è che l'app mostra brevemente lo splash, quindi si chiude immediatamente.

L'applicazione in questione è su GitHub all'indirizzo https://github.com/christophwille/Sprudelsuche/blob/master/Source/Sprudelsuche.WP/App.xaml.cs - il motivo per cui ho iniziato a provare DisplayRootView è che DisplayRootViewFor non funziona con la navigazione più avanti nell'app (MainViewModel/NavigateTo:L'output mostra che sta attivando il nuovo modello di visualizzazione, ma la visualizzazione non viene mai visualizzata).

Utilizzo CM in un'app WP8 ​​SL senza problemi di sorta.Tuttavia, questo mi ha lasciato perplesso poiché non mi sono discostato molto dagli esempi CM in questo porting molto semplice.(a proposito, NavigateToViewModel presenta lo stesso problema)

Nota di avvio:Ho notato una curiosità interessante nel codice sorgente di DisplayRootView: gestione del frame dopo la navigazione rispetto a DisplayRootViewFor.Inoltre, nell'Hub l'associazione basata su convenzione non ha funzionato per me.Sicuramente sto facendo qualcosa di sbagliato...

È stato utile?

Soluzione 2

Nello scrivere commenti alla risposta di mvermef ho iniziato a provare a copiare il codice su un progetto vuoto/utilizzando una visualizzazione diversa per l'avvio.Dato che ha funzionato bene, la mia osservazione "il collegamento non funziona" mi ha ricordato che ho provato un sacco di approcci diversi per farlo funzionare, ed ecco, uno di questi era rimasto nel codice sorgente:

<Hub Header="spritpreise">
            <HubSection Header="SUCHE">
                <DataTemplate>
                    <Grid caliburn:View.Model="{Binding}">

L'incidente AV è stato causato dall'ultima riga.Riportarlo in una griglia senza il collegamento CM-VM ha fatto funzionare l'app.È divertente però che questo si blocchi solo con View-first e non con ViewModel-first.

Altri suggerimenti

guarda la tua riga di codice in PrepareViewFirst(Frame rootFrame)

hai

 protected override void PrepareViewFirst(Frame rootFrame)
 {
   container.RegisterNavigationService(this.RootFrame);
 }

probabilmente dovrebbe esserlo

protected override void PrepareViewFirst(Frame rootFrame)
{
  container.RegisterNaviationService(rootFrame);
}

Poi

DisplayRootView<MainView>(); 

dovrebbe funzionare bene;

modificare:prova a spostare il metodo PrepareViewFirst() nella parte inferiore dell'override di Configurazione.Esistono 2 metodi PrepareViewFirst() uno parametrizzato e l'altro no...utilizzare il metodo senza parametri in Configure(), commentare la chiamata in OnLaunched();

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top