Может любой говорить мне, что является преимуществами использования Команд по сравнению с Событиями в WPF. Команды или События сталкиваются с утечками памяти? Каков самый быстрый подход. Что является их недостатками.
Команды предоставляют два основных преимущества перед обработчиками событий:
Я бы предпочел использовать команды в реальном проекте, особенно если вы хотите использовать M-V-VM.
Я не слышал ни о каких утечках памяти, связанных с командами.
События, вероятно, выполняются быстрее, но разница не должна быть значительной - я использую команды в своих проектах в течение 2 лет и не испытывал проблем с производительностью.
Подробнее о командах см. Обзор команд ( архив ) ( v4 )
Команды - это более стандартный способ интеграции событий. они могут быть более полезны, чем события, потому что с их помощью вы можете определить одну задачу (команду) и использовать ее из разных мест. например, вы можете определить команду сохранения и использовать пункт меню, пункт контекстного меню и кнопку для ее одновременного использования. Кроме того, команды поддерживают привязку данных, что является очень мощной особенностью WPF-приложений. Насколько я знаю, команды приводят к определенным видам утечек памяти, но вы можете избежать этого, используя множество обходных путей. Я должен добавить, что паттерн проектирования MVVM также использует команды как стандартный способ проектирования WPF-приложений. Работа с событиями намного проще, но команды обеспечивают более мощный дизайн. Но вы должны знать, что вы не всегда можете использовать команды вместо событий.
Кроме того, WPF4.0 позволяет привязку к определениям команд. Это делает еще более простым раскрытие команд из моделей представления, что в конечном итоге поможет вам отделить логику от проблем пользовательского интерфейса.