/ / Qual è la migliore pratica per la gestione degli eventi in MVVM - mvvm, gestione degli eventi, silverlight-4.0

qual è la migliore pratica per la gestione degli eventi in MVVM - mvvm, gestione degli eventi, silverlight-4.0

Sto facendo un silverlight usando il modello MVVM,e sto trovando difficile fare la gestione degli eventi tramite MVVM, in particolare che i gestori di eventi stanno facendo molti cambiamenti nella vista come l'attivazione e la disattivazione dei pulsanti, l'aggiornamento delle funzioni e della posizione degli elementi multimediali. Sono ancora nuovo su MVVM e non riesco a immaginare come faccio a fare questo. Qualcuno sa già un buon articolo per iniziare o un semplice approccio per capire :) Risponderò a quello che potrei trovare interessante mentre faccio la mia ricerca anche. Grazie

risposte:

4 per risposta № 1

1) Capire che ci sono diversi "sapori" di MVVM. Modelli MVVM rigorosi / hardcore, sebbene teoricamente desiderabili, non sono necessari.

2) Molti eventi di visualizzazione possono essere gestiti tramite i comandi. WPF supporta questo, e credo che anche Silverlight 4 funzioni. Un evento di visualizzazione semplice per iniziare sarebbe Click sul pulsante. Questo ti permette di gestire l'evento nel ViewModel (invece del "code-behind" della vista).

3) Per cose come abilitare / disabilitare i controlli / stati della vista tramite il modello MVVM, ecco un esempio / spiegazione:

  • I controlli Xaml (ad esempio, un pulsante) sono associati al Data View per ViewModel per qualsiasi proprietà (in questo caso, sarà la proprietà IsEnabled del pulsante).
  • ViewModel ha una proprietà IsButtonEnabled.
  • Ogni volta che si modifica questa proprietà nel VM, si solleva la notifica PropertyChanged e si vedrà il risultato bindato nella vista (lo stato IsEnabled del pulsante verrà aggiornato).

ps: puoi fare molte cose tramite le proprietà della macchina virtuale in questo modo: dal testo, ai vari stati delle proprietà, al colore, puoi persino giocare alle animazioni nei setter / getter della proprietà .... ecc.

Saluti