ВУЗ:
Составители:
Рубрика:
82
public void Execute(object parameter, IInputElement target) {...}
public bool CanExecute(object parameter, IInputElement target) {...}
Здесь target — это целевой элемент, в котором начинается обработка
события. Это событие начинает обрабатываться в целевом элементе и за-
тем поднимается вверх до находящихся на более высоком уровне контей-
неров до тех пор, пока приложение не использует его для выполнения
подходящей задачи.
Помимо этого класс RoutedCommand также вводит три свойства:
Name — имя команды;
OwnerType — класс, членом которого является данная команда;
коллекция InputGestures, представляющая любые клавиши, кла-
виатурные комбинации или действия с мышью, которые также мо-
гут применяться для вызова данной команды.
6.3.1. Перемещение событий
Исходя из модели команд WPF, трудно понять точно, почему коман-
ды WPF требуют использования маршрутизируемых событий. Логичным
было бы предположение, что объект команды должен заботиться о ее вы-
полнении вне зависимости от того, как она вызывается. Это было бы так,
если бы для создания собственных команд интерфейс ICommand нужно
было использовать напрямую. Код нужно было бы определять внутри ко-
манды, так чтобы он работал бы одинаково независимо от того, что при-
водит к ее инициации. В перемещении событий не было бы никакой необ-
ходимости.
Однако WPF использует ряд заготовленных команд. Классы этих
команд не содержат никакого реального кода. Они являются просто
удобно определенными объектами, которые представляют некоторую об-
щую задачу приложения (например, печать документа). Для выполнения
действий над этими командами необходимо использовать привязку
(binding), вызывающую в коде соответствующее событие. Для обеспече-
ния возможности выполнения данного события в одном месте, даже если
Страницы
- « первая
- ‹ предыдущая
- …
- 81
- 82
- 83
- 84
- 85
- …
- следующая ›
- последняя »