/ / Persist e Recupera stato in Prisma per Xamarin Forms - mvvm, xamarin.forms, prisma

Persistere e recuperare lo stato in Prisma per Xamarin Forms - mvvm, xamarin.forms, prisma

Stiamo considerando la migrazione di un'app UWP a XamarinLe forme. Dobbiamo essere in grado di salvare lo stato di oggetti complessi come un modulo d'ordine quando l'utente si allontana e recupera quello stato quando l'utente torna indietro. Dobbiamo anche essere in grado di annullare la navigazione da un viewmodel.

Usiamo MVVM, quindi le mie domande provengono da quel contesto, ma ci piace pensare a noi stessi come pragmatici piuttosto che zelanti su queste cose.

In UWP utilizziamo la libreria Template10 per salvare lo stato nell'evento OnNavigatingFrom. Noi recuperiamo lo stato nell'evento OnNavigatingTo. Funziona anche quando si fa clic sul pulsante Indietro dell'app.

Xamarin Forms non sembra avere eventi integrati per gestire la navigazione da e verso un modello di vista.

Prism per Xamarin Forms ha OnNavigatingTo manon sembra avere OnNavigatingFrom. Su alcune pagine utilizziamo OnNavigatingFrom per richiedere all'utente di salvare o scartare. OnNavigatingFrom può essere annullato in risposta a una finestra di dialogo.

Appare anche che Prism non gestisce la navigazioneutilizzando il pulsante back dell'applicazione o il pulsante back hardware. Dobbiamo essere in grado di gestire la navigazione da e verso i modelli viewmodels indipendentemente da come è stata avviata la navigazione.

Ho passato un paio di settimane a fare ricerche su questiproblemi e scenari di test in Xamarin Forms. Presumo di aver perso qualcosa nella mia ignoranza. Capisco che i tipi primitivi possono essere mantenuti nelle proprietà dell'applicazione, ma sarebbe bello se non dovessimo serializzare e deserializzare oggetti gerarchici complessi.

Esiste un paradigma / framework nel mondo di Xamarin Forms che:

  • gestire gli eventi che navigano da e verso un modello di vista
  • consentire la navigazione da un viewmodel da annullare in risposta a una finestra di dialogo
  • consentire lo stato di essere salvato navigando da un viewmodel
  • consente di recuperare lo stato navigando su un modello di visualizzazione
  • eventi di navigazione antincendio a prescindere da come è stata avviata la navigazione?

Capisco che ci sono molte domande in questodomanda, ma non stiamo cercando soluzioni individuali, ma un paradigma o una struttura che ci fornisce gli strumenti per risolverli tutti in Xamarin Forms, come ad esempio T10 per UWP.

risposte:

1 per risposta № 1

Non sei sicuro di quanto hai passato a fare ricerche su Prism per Xamarin.Forms, ma fornisce tutto ciò che hai detto che non ha funzionato.

Dovresti iniziare con questo video. È un po 'vecchio, ma ti farà iniziare.

https://www.youtube.com/watch?v=DYRLcqG2BAY

Per quanto effettivamente persistendo i dati, questo è per te da decidere: Prism ti darà i ganci per farlo.