Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Краткий анализ задачи






Теперь будем модифицировать этот проект, подгоняя его под использование механизма команд. Но прежде проведем ревизию библиотечных команд, возможно не все из них закрывают наши источники и часть команд придется создавать самим. За основу возьмем источники меню, поскольку там наиболее полно представлены задачи нашего приложения. Интересующие нас библиотечные команды находятся в классе ApplicationCommands пространства имен System.Windows.Input

Сопоставление задач приложения и библиотечных команд
Раздел меню Задача Библиотечная команда Встроенные жесты Наши жесты Регулировать доступность?
File New ApplicationCommands.New Ctrl+N Ctrl+N  
Open ApplicationCommands.Open Ctrl+O Ctrl+O  
Save ApplicationCommands.Save Ctrl+S Ctrl+S Да
Save As ApplicationCommands.SaveAs      
Page Setup        
Print Preview ApplicationCommands.PrintPreview Ctrl+F2 Ctrl+F2  
Print ApplicationCommands.Print Ctrl+P Ctrl+P  
Exit        
Edit Undo ApplicationCommands.Undo Ctrl+Z Ctrl+Z Да
Redo ApplicationCommands.Redo Ctrl+Y Ctrl+Y Да
Cut ApplicationCommands.Cut Ctrl+X Ctrl+X Да
Copy ApplicationCommands.Copy Ctrl+C Ctrl+C Да
Paste ApplicationCommands.Paste Ctrl+V Ctrl+V Да
Delete ApplicationCommands.Delete Del Del Да
Find ApplicationCommands.Find Ctrl+F Ctrl+F  
Find Next     F3  
Replace ApplicationCommands.Replace Ctrl+H Ctrl+H Да
Go To     Ctrl+G  
Select All ApplicationCommands.SelectAll Ctrl+A Ctrl+A Да
Format Font        
Word Wrap     Ctrl+W  
Help About        

Глядя на таблицу, можно сделать следующие выводы для нашего приложения:

  1. Не все задачи имеют библиотечные команды и часть команд придется создать вручную (такие команды называются пользовательскими или настраиваемыми).
  2. Не для всех задач нужно регулировать доступность источников, поэтому эти задачи можно оставить как есть, ничего не меняя, поскольку они у нас работают нормально.
  3. Задачи, которые не имеют библиотечных команд, не требуют регулирования доступности, поэтому их можно оставить как есть и не создавать для них команды. Но мы все-таки их создадим, для тренировки.
  4. Встроенные жесты библиотечных команд и наши жесты совпадают, мы их так подгадали, поэтому, для тренировки, в задачах, к которым мы применим команды, наши жесты можно удалить (а они заменятся на встроенные)

Недостающие команды нужно создавать в процедурном коде. А вот подключать все команды к источникам и связывать с коллекцией CommandBindings окна, пять же для тренировки, будем и в разметке, и в процедурном коде.

Еще раз выпишем те задачи, которые мы будем реализовывать с помощью команд

План задач, которые предстоит реализовать командами
Где присоединить к источнику? Где привязать к окну? Задача Библиотечная команда Alias (псевдоним) Жесты Рег?
Разметка Разметка Save Save SaveCommand Ctrl+S Да
Разметка Разметка Page Setup   PageSetupCommand   Нет
Разметка Разметка Undo Undo UndoCommand Ctrl+Z Да
Разметка Код Redo Redo RedoCommand Ctrl+Y Да
Разметка Код Cut Cut CutCommand Ctrl+X Да
Разметка Код Copy Copy CopyCommand Ctrl+C Да
Код Разметка Paste Paste PasteCommand Ctrl+V Да
Код Разметка Delete Delete DeleteCommand Del Да
Код Разметка Find Next   FindNextCommand F3 Да
Код Код Replace Replace ReplaceCommand Ctrl+H Да
Код Код Go To   GoToCommand Ctrl+G Нет
Код Код Select All SelectAll SelectAllCommand Ctrl+A Да

Мы выбрали 12 задач, которые хотим реализовать с помощью команд. Эта табличка будет нашим планом для дальнейшей работы.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.