ВУЗ:
Составители:
Рубрика:
77
занных команд. Она также предоставляет специальное место хранения и
локализации текстовых заголовков команд.
В данном разделе речь пойдет о том, как использовать заготовлен-
ные классы команд в WPF, как связывать их с элементами управления и
как разработчику определять собственные команды. Также будут рас-
смотрены ограничения модели команд, такие как отсутствие журнала хро-
нологии команд и отсутствие поддержки для используемой на уровне
приложения функции Undo, и показано, как создавать свои собственные
аналоги.
6.1. Общие сведения о командах
В хорошо спроектированном приложении Windows логика приложе-
ния находится не в обработчиках событий, а закодирована в имеющих бо-
лее высокий уровень методах. Каждый из этих методов представляет одну
решаемую приложением «задачу» (task), каждая из которых может пола-
гаться на дополнительные библиотеки.
Самым очевидным способом использования такого дизайна является
добавление обработчиков событий везде, где они нужны, и применение
каждого из них для вызова соответствующего метода приложения. В этом
случае код окна превращается в своеобразную систему коммутации, кото-
рая реагирует на ввод и пересылает запросы внутрь приложения. Хотя та-
кой дизайн является вполне разумным, он часто является неэффективным.
Многие задачи приложения могут инициироваться по различным маршру-
там, из-за чего часто все равно приходится писать несколько обработчи-
ков событий, вызывающих один и тот же метод приложения. В этом нет
особых проблем, пока не приходится учитывать состояние пользователь-
ского интерфейса.
Рассмотрим пример. Пусть имеется программа, в состав которой
входит метод для печати открытого в программе документа по имени
PrintDocument(). Данный метод может инициироваться четырьмя спосо-
бами: через главное меню (путем выбора в меню File (Файл) команды Print
(Печать)), через контекстное меню, с помощью клавиатурной комбинации
Страницы
- « первая
- ‹ предыдущая
- …
- 76
- 77
- 78
- 79
- 80
- …
- следующая ›
- последняя »