2013-04-17 12 views
8

Stavo solo cercando la differenza tra comando WPF ed evento in WPF. Sono atterrato nella pagina seguente dello stackoverflow in cui si sta svolgendo la discussione.Qual è la differenza tra comando WPF ed evento in WPF?

What is the difference between WPF Command and Event?

io sono in grado di capire in seguito da lì solo

  1. I comandi possono essere scritti in livello di business, mentre evento unico nella presentazione
  2. un singolo comando può essere associato a molti controlli, ma evento può essere associato solo a un solo controllo.

Ho ragione? C'è qualche altra differenza tra loro?

risposta

5

Hai ragione ma solo in parte.

  1. La preoccupazione principale è che gli eventi non si adatta bene nel MVVM paradigma. Dire semplicemente che gli eventi sono difficilmente collegabili, non è possibile associarsi al gestore di eventi. Tuttavia non vi è alcun limite per utilizzare i comandi nel livello di presentazione, ma non vi è alcun vantaggio nel farlo. Così come si potrebbe prendere il controllo in BLL e allegare un gestore di eventi ad esso, ma questo caso è ancora peggio.
  2. No. I gestori di eventi possono anche essere associati a controlli diversi a condizione che il tipo di argomenti di evento corrisponda.

Anche i comandi offrono vantaggi gratuiti. Ad esempio, l'utilizzo dell'elemento comando sarà disabilitato se CanExecute() restituisce false. Un altro vantaggio è che l'uso dei comandi ti obbliga a seguire il principio Separation of concerns.

4

Un evento è un trigger che si verifica quando accade qualcosa nell'interfaccia utente. Un comando è il modo in cui questo evento viene gestito dal modello di dominio.

Problemi correlati