Замена встроенного контекстного меню

  • Запустите приложение и вызовите контекстное меню для элемента редактирования щелчком правой кнопкой мыши или клавиатурным жестом Shift+F10

Мы видим, что элемент редактирования имеет по умолчанию контекстное меню, которое называется встроенным. Некоторые элементы управления имеют встроенное контекстное меню с готовой поддержкой команд.

  • Проверьте, что команды меню и клавиатурные комбинации выполняют операции вырезания и копирования в буфер обмена, а также вставку из буфера. Работает также и встроенная логика отключения источников команд, когда операция невозможна, например, буфер обмена пуст и нечего вставлять

Для тренировки, в дальнейшем мы переопределим встроенное в TextBox контекстное меню и встроенные команды, а заодно и отключим клавиатурные комбинации, инициирующие встроенные команды.

  • Добавьте внутрь дескриптора TextBox разметку контекстного меню с подключенными пиктограммами для элементов
<TextBox.ContextMenu> <ContextMenu Width="100"> <MenuItem Header="Cu_t" Icon="{StaticResource iconCut}" /> <MenuItem Header="_Copy" Icon="{StaticResource iconCopy}" /> <MenuItem Header="_Paste" Icon="{StaticResource iconPaste}" /> <MenuItem Header="De_lete" Icon="{StaticResource iconDelete}" /> </ContextMenu> </TextBox.ContextMenu>
  • Запустите проект

Обратите внимание, что применение акселератора Shift+F10 всегда вызывает наше контекстное меню в центре элемента редактирования.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: