Mi chiedevo come si potesse accedere all'istanza corrente della pagina principale da una classe diversa in un'app di Windows Store C#.Il modo migliore per accedere all'istanza corrente di MainPage in un'app di Windows Store?
In particolare, in un'app di Windows Store per un tablet Surface RT (quindi, limitato all'API RT), desidero accedere ai metodi mainpage e agli elementi dell'interfaccia utente di altre classi.
Creazione di una nuova istanza funziona, in questo modo:
MainPage mp = new MainPage();
mp.PublicMainPageMethod();
mp.mainpageTextBlock.Text = "Setting text at runtime";
in quanto espone gli elementi metodi/UI, ma questo non può essere la procedura corretta.
Qual è la procedura migliore per accedere ai metodi e modificare gli elementi dell'interfaccia utente nella pagina principale in fase di runtime, da altre classi? Ci sono diversi articoli su questo per Windows Phone ma non riesco a trovare nulla per Windows RT.
direi migliore pratica non è di farlo . La migliore pratica sarebbe quella di utilizzare un modello come MVVM che mantiene le cose che potresti voler richiamare dall'interfaccia utente. http://en.wikipedia.org/wiki/Model_View_ViewModel – dkackman
Concordo con l'utilizzo del pattern MVVM. Per lo meno, potresti creare eventi nelle classi che altrimenti aggiornerebbero il tuo modulo principale. Chiedi al tuo modulo principale di sottoscrivere questi eventi e consenti di gestire la propria interfaccia utente in risposta agli eventi. –