Как правило, команды, привязанные к элементам меню, кнопкам панели инструментов и т. Д., Предоставляют следующую информацию элементам управления:
- Метод выполнения
- Флаг включения / выключения
- (Необязательно) Видимый / скрытый флаг
- (Необязательно) Значок
- (Необязательно) Текст
- (Необязательно) Описание
- Событие, уведомленное о состоянии команды, изменилось
Если вы предпочитаете использовать шаблон MVC, а не MVVM, вам, вероятно, будет сложно определить, где будет располагаться логика команд.Вы можете раскрыть эту информацию через модель или поместить соответствующий код в контроллер.
Если вы используете компонентный интерфейс, например .NET WPF / WindowsForms / Silverlight и т. Д., Вы, вероятно, можете создать интерфейс для команды, которая предоставляет все перечисленные свойства, и создать пользовательские элементы управления, унаследованные от MenuItem, ToolbarButton и т. Д.который обрабатывает информацию из такого интерфейса.