Mi stavo chiedendo quale sia la procedura migliore per inviare variabili come "selectedItem" e così via tra le pagine in UWP? È una buona idea creare semplicemente una classe variabile globale statica di cui ogni pagina è a conoscenza?Best practice per la condivisione di dati tra le pagine
8
A
risposta
11
ho intenzione di riassumere Microsofts Best Practice qui:
Per i dati semplici (come stringhe):
utilizzare il metodo Frame.Navigate(TypeName, Object)
, dove come secondo argomento dovrebbe sempre essere una stringa (anche se consente oggetti). Il secondo argomento può quindi essere estratto da NavigationEventArgs.Parameter
nel gestore eventi Frame.Navigated
.
Per i dati complessi (qualcosa oltre le stringhe):
Si può scegliere tra due opzioni qui, a seconda delle dimensioni e della complessità della vostra applicazione:
- O gestire un riferimento ai suoi dati complessi all'interno la tua classe
App
direttamente - Oppure tieni un riferimento a loro in qualsiasi tipo di classe Manager, ovvero un membro della classe
App
. (ad esempioNavigationDataManager
).
1
In effetti, se si utilizza l'approccio MVVM, tutte le informazioni necessarie sono disponibili nelle classi ModelView. Nel caso in cui non si usi MVVM, utilizzare solo una classe singleton o anche una classe globale statica.
Grazie per l'ottima risposta! Puoi darmi un link a dove hai trovato queste migliori pratiche, perché sono interessato a leggerle tutte? :) – stonecompass
@DanielBross È in corso _Microsoft Virtual Academy_. È almeno in questo [corso di tedesco] (https://www.microsoftvirtualacademy.com/de-de/training-courses/grundlagen-fr-windows-10-fr-entwickler-11538), ma dovrebbe essere anche in questo [ Inglese uno] (https://www.microsoftvirtualacademy.com/it-it/training-courses/a-developers-guide-to-windows-10-12618?l=IV8HDBpRB_9005095281). – Herdo
Ok, grazie! Fortunatamente anch'io sono tedesco, quindi dovrei essere in grado di capire entrambi! :) – stonecompass