Классические элементы пользовательского интерфейса в Windows Presentation Foundation. Шамшев Ан. Б. - 98 стр.

UptoLike

Составители: 

97
менении ее состояния «отмечен/не отмечен» и затем обновлять соответ-
ствующим образом все связанные с ней элементы управления. Кнопки-
флажки являются явным примером выходящего за рамки модели команд
состояния пользовательского интерфейса. Однако подобный дизайн воз-
можен и в других случаях. Например, можно создать некоторую раздели-
тельную кнопку с возможностью переключения в разные «режимы». Рас-
пространить это изменение до других связанных элементов управления с
помощью одной только модели команд опять-таки не получится.
6.9. Элементы управления со встроенными командами
Некоторые из элементов управления, принимающих вводимые дан-
ные, обрабатывают события команд самостоятельно. Например, класс
TextBox обрабатывает команды Cut, Сору и Paste также команды Undo
и Redo и некоторые из команд класса EditingCommands, которые выделя-
ют текст и перемещают курсор в разные позиции).
Когда у элемента есть своя собственная, жестко закодированная ко-
мандная логика, разработчику не нужно ничего делать, чтобы заставить
команду работать. Например, если взять простой текстовый редактор, ко-
торый был показан на рис. 22, и добавить в него кнопки для панели ин-
струментов, то поддержка вырезания, копирования и вставки текста по-
явится автоматически:
<ToolBar>
<Button Command="Cut">Cut</Button>
<Button Command="Copy">Copy</Button>
<Button Command="Paste">Paste</Button>
</ToolBar>
После добавления этой панели инструментов можно будет сразу же
щелкать на любой из этих кнопок и выполнять соответствующие действия
с текстом из буфера обмена. Следует отметить, что элемент управления
TextBox также обрабатывает событие CanExecute. Если в нем в текущий
момент ничего не будет выделено, команды Cut и Сору будут недоступны.
А в случае перемещения фокуса на другой элемент управления, не под-
держивающий команды Copy, Cut и Paste, сразу же автоматически будут