2012-07-12 11 views
7

Nel contesto di , il modello MVVM di Microsoft e gli aspetti relativi alla gestione di eventi/comandi considerano che sto eseguendo il binding di un comando a un controllo (ad esempio un pulsante) e la sottoscrizione all'evento Click del controllo.Cosa viene prima - Comando o EventHandler?

Esiste una regola generale su quale azione avvenga per prima - l'elaborazione del codice associato al comando o quella associata al gestore di eventi corrispondente?

+0

Credo che la più grande domanda, è il motivo per cui dovresti fare entrambe le cose. L'aspetto chiave dell'utilizzo dei comandi è che normalmente lo si associa a un ICommand in un ViewModel e, in questo modo, la VM non ha bisogno di sapere nulla sul pulsante. Si tratta di un mix di codice dietro e una VM? Se stai usando una VM, come stai vincolando all'evento dei pulsanti? – stevethethread

+1

@SteveSolomon Beh, sto cercando di gestire la creazione dinamica dei controlli durante il runtime. E per rispettare lo schema MVVM cerco di lasciare tutto il codice necessario in VISUALIZZA. Quindi attualmente sto usando il comando binding per la connessione tra VIEW/VIEWMODEL e EventHandlers per la manipolazione 'Inter-VIEW'. –

+0

Non penso sia specifico. I * think * off hand dovrebbe essere sollevato per primo il primo a iscriversi all'evento. Se il comando è collegato in XAML, mi aspetto che prima mi iscriva. Ma c'è più di un modo per dare la pelle a un gatto. –

risposta

5

EventHandlers vengono attivati ​​prima dell'ICOMANDO associato.

+2

Questo è corretto. Di tanto in tanto ho fatto entrambe le volte quando voglio che si verifichi un controllo specifico della vista prima di elaborare il comando. Se il controllo fallisce, l'evento può annullare il comando. – Rachel

+0

Grazie mille. –

Problemi correlati