2013-04-17 12 views
8

Sadece WPF Komutu ve WPF'deki Olay arasındaki farkı araştırıyordum. Tartışmanın devam ettiği aşağıdaki sayfaya gittim.WPF'de WPF Komutu ve Olay arasındaki fark nedir?

What is the difference between WPF Command and Event?

oradan aşağıdaki anlamak sadece am güçlü

  1. Komutları iş katmanında yazılabilir ise sadece sunumda olay
  2. Tek bir komut birçok kontroller ancak olayla ilişkili olabilir
  3. sadece tek bir kontrol ile ilişkilendirilebilir.

Doğru muyum? Aralarında başka bir fark var mı?

cevap

5

Haklısınız ama sadece kısmen.

  1. başlıca kaygısı olaylar MVVM paradigma içine iyice uymuyor yoktur. Basitçe söylenen olaylar neredeyse hiç takılmaz, olay işleyicisine bağlanamazsınız. Yine de, sunum katmanında komutları kullanmak için bir sınır yoktur, ancak bunun faydaları yoktur. BLL'de kontrolünüzü yakalamanız ve olay işleyicisini buna ekleyebildiğiniz gibi, bu durum daha da kötüdür.
  2. Hayır. Olay işleyicileri, olay türü eşleştiği sürece farklı denetimle ilişkilendirilebilir.

Ayrıca, komutlar size bazı ücretsiz avantajlar sağlar. Örneğin, CanExecute(), false değerini döndürürse, komut öğesini kullanarak devre dışı bırakılır. Diğer bir avantaj, komutları kullanmanızın Separation of concerns ilkesini takip etmenizi gerektirdiğidir.

4

Bir Olay, kullanıcı arayüzünde bir şey olduğunda oluşan bir tetikleyicidir. A Komut, bu olayın etki alanı modeliniz tarafından nasıl ele alınacağıdır.

İlgili konular