Команды WPF по сравнению с Событиями, Advantages/Disadvantages

Может любой говорить мне, что является преимуществами использования Команд по сравнению с Событиями в WPF. Команды или События сталкиваются с утечками памяти? Каков самый быстрый подход. Что является их недостатками.

46
задан WPF User 1 June 2010 в 20:08
поделиться

4 ответа

Команды предоставляют два основных преимущества перед обработчиками событий:

  1. команды не связаны с вызывающий, поэтому такая же команда не зависимый и может быть вызван из пункт меню, кнопка панели инструментов, клавиатура, и т. д.
  2. команды обеспечивают поддержку включение / отключение всех связанных пользовательских интерфейсов контроль на основе статуса команда (может быть выполнена или нет)

Я бы предпочел использовать команды в реальном проекте, особенно если вы хотите использовать M-V-VM.

Я не слышал ни о каких утечках памяти, связанных с командами.

События, вероятно, выполняются быстрее, но разница не должна быть значительной - я использую команды в своих проектах в течение 2 лет и не испытывал проблем с производительностью.

Подробнее о командах см. Обзор команд ( архив ) ( v4 )

38
ответ дан 26 November 2019 в 20:33
поделиться

Команды - это более стандартный способ интеграции событий. они могут быть более полезны, чем события, потому что с их помощью вы можете определить одну задачу (команду) и использовать ее из разных мест. например, вы можете определить команду сохранения и использовать пункт меню, пункт контекстного меню и кнопку для ее одновременного использования. Кроме того, команды поддерживают привязку данных, что является очень мощной особенностью WPF-приложений. Насколько я знаю, команды приводят к определенным видам утечек памяти, но вы можете избежать этого, используя множество обходных путей. Я должен добавить, что паттерн проектирования MVVM также использует команды как стандартный способ проектирования WPF-приложений. Работа с событиями намного проще, но команды обеспечивают более мощный дизайн. Но вы должны знать, что вы не всегда можете использовать команды вместо событий.

3
ответ дан 26 November 2019 в 20:33
поделиться

Кроме того, WPF4.0 позволяет привязку к определениям команд. Это делает еще более простым раскрытие команд из моделей представления, что в конечном итоге поможет вам отделить логику от проблем пользовательского интерфейса.

0
ответ дан 26 November 2019 в 20:33
поделиться

Команды - это перенаправленные события.

-3
ответ дан 26 November 2019 в 20:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: