Поведение мыши и клавиатуры по умолчанию в элементе управления DataGrid
В этом разделе описывается, как пользователи могут взаимодействовать с DataGrid элемента управления с помощью клавиатуры и мыши.
Типичные варианты взаимодействия машин с DataGrid включают перемещения, выбора и редактирования. Выбор поведение определяется параметром SelectionMode и SelectionUnit свойства. Значения по умолчанию, вызывающие неполадки, описанные в этом разделе, DataGridSelectionMode.Extended и DataGridSelectionUnit.FullRow. Изменение этих значений может привести к поведению, отличному от описанной. Если ячейка находится в режиме редактирования, редактирования элемента управления может переопределить поведение стандартных сочетаний DataGrid.
Стандартное поведение клавиатуры
В следующей таблице перечислены стандартное поведение клавиатуры для DataGrid.
Клавиши или сочетания клавиш | Описание |
---|---|
СТРЕЛКА ВНИЗ | Перемещает фокус в ячейку непосредственно под текущей ячейки. Если фокус находится в последней строке, нажав клавишу со стрелкой вниз ничего не делает. |
СТРЕЛКА ВВЕРХ | Перемещает фокус в ячейку непосредственно над текущей ячейки. Если фокус находится в первой строке, нажав клавишу со стрелкой вверх ничего не делает. |
СТРЕЛКА ВЛЕВО | Перемещает фокус на предыдущую ячейку в строке. Если фокус находится в первой ячейке в строке, нажав клавишу Стрелка влево ничего не делает. |
СТРЕЛКА ВПРАВО | Перемещение фокуса к следующей ячейке в строке. Если фокус находится в последней ячейке в строке, нажав клавишу Стрелка вправо ничего не делает. |
ГЛАВНАЯ | Переход к первой ячейке в текущей строке. |
END | Переход к последней ячейке в текущей строке. |
PAGE DOWN | Если строки не группируются, прокручивает элемент управления вниз на число строк, которые отображаются полностью. Перемещает фокус на последнюю строку полностью отображается без изменения столбцов. Если строки группируются, перемещает фокус на последнюю строку в DataGrid без изменения столбцов. |
PAGE UP | Если строки не группируются, прокручивает элемент управления вверх на число строк, которые отображаются полностью. Перемещает фокус на первую строку отображается без изменения столбцов. Если строки группируются, перемещает фокус на первую строку в DataGrid без изменения столбцов. |
TAB | Перемещение фокуса к следующей ячейке в текущей строке. Если фокус находится в последней ячейке строки, переход к первой ячейке в следующей строке. Если фокус находится в последней ячейке в элементе управления, перемещение фокуса к следующему элементу управления в последовательности табуляции родительского контейнера. Если текущая ячейка находится в режиме редактирования и нажав клавиши табуляции для фокусировки причины отойти от текущей строки, любые изменения, внесенные в строку, перед выполнением изменении фокуса. |
SHIFT+TAB | Переход к предыдущей ячейке в текущей строке. Если фокус находится в первой ячейке строки, передает фокус в последнюю ячейку в предыдущей строке. Если фокус находится в первой ячейке в элементе управления, перемещает фокус на предыдущий элемент управления в последовательности табуляции родительского контейнера. Если текущая ячейка находится в режиме редактирования и нажав клавиши табуляции для фокусировки причины отойти от текущей строки, любые изменения, внесенные в строку, перед выполнением изменении фокуса. |
CTRL+СТРЕЛКА ВНИЗ | Перемещает фокус в последнюю ячейку в текущем столбце. |
CTRL + СТРЕЛКА ВВЕРХ | Переход к первой ячейке в текущем столбце. |
CTRL + СТРЕЛКА ВПРАВО | Переход к последней ячейке в текущей строке. |
CTRL+СТРЕЛКА ВЛЕВО | Переход к первой ячейке в текущей строке. |
CTRL + HOME | Переход к первой ячейке в элементе управления. |
CTRL + END | Перемещает фокус в последнюю ячейку в элементе управления. |
CTRL+PAGE DOWN | Совпадает со значением PAGE DOWN. |
CTRL+PAGE UP | То же, как PAGE UP. |
F2 | Если DataGrid.IsReadOnly свойство false и DataGridColumn.IsReadOnly свойство false для текущего столбца, переводит текущую ячейку в режим редактирования ячейки. |
ВВОД | Фиксирует все изменения для текущей ячейки и строки и переносит фокус в ячейку непосредственно под текущей ячейки. Если фокус находится в последней строке, изменения сохраняются без перемещения фокуса. |
ESC | Если элемент управления находится в режиме редактирования, отменяет изменение и отменяет изменения, внесенные в элементе управления. Если базовый источник данных реализует IEditableObject, нажатие клавиши ESC во второй раз отменяет режим редактирования для всей строки. |
BACKSPACE | Удаление знака до курсора, при редактировании ячейки. |
DELETE | Удаление знака после курсора, при редактировании ячейки. |
CTRL+ВВОД | Фиксирует все изменения в текущей ячейке без перемещения фокуса. |
CTRL+A | Если SelectionMode присваивается Extended, выбирает все строки в DataGrid. |
Выбор ключей
Если SelectionMode свойству Extended, поведение остается неизменным, но перемещение с помощью клавиатуры, удерживая нажатой клавишу SHIFT, (включая клавиши CTRL + SHIFT) измените выбор нескольких строк. До начала навигации, элемент управления помечает текущую строку как строку привязки. При переходе, удерживая нажатой клавишу SHIFT, выделение включает все строки между строки привязки и текущей строки.
Следующие разделы выбора изменить выбор нескольких строк.
SHIFT + СТРЕЛКА ВНИЗ
SHIFT + СТРЕЛКА ВВЕРХ
SHIFT + PAGE DOWN
SHIFT + PAGE UP
CTRL+SHIFT+СТРЕЛКА ВНИЗ
CTRL+SHIFT+СТРЕЛКА ВВЕРХ
CTRL + SHIFT + HOME
CTRL + SHIFT + END
Поведение мыши по умолчанию
В следующей таблице перечислены поведение мыши по умолчанию для DataGrid.
Действие мыши | Описание |
---|---|
Нажмите кнопку невыбранные строки | Делает выбранной строки, текущая строка и выбранная ячейка текущей ячейки. |
Нажмите кнопку текущей ячейки | Переводит текущую ячейку в режим редактирования. |
Перетащите ячейки заголовка столбца | Если DataGrid.CanUserReorderColumns свойство true и DataGridColumn.CanUserReorder свойство true для текущего столбца, перемещает столбец таким образом, чтобы его можно перетаскивать в новую позицию. |
Перетащите разделитель заголовка столбца | Если DataGrid.CanUserResizeColumns свойство true и DataGridColumn.CanUserResize свойство true для текущего столбца изменяет размер столбца. |
Дважды щелкните заголовок разделителя столбцов | Если DataGrid.CanUserResizeColumns свойство true и DataGridColumn.CanUserResize свойство true для текущего столбца, автоматически изменяет размер столбца с помощью Auto режим изменения размеров. |
Щелкните ячейки заголовка столбца | Если DataGrid.CanUserSortColumns свойство true и DataGridColumn.CanUserSort свойство true для текущего столбца, сортировка столбца.Щелкнув заголовок столбца, который уже был отсортирован будет изменить направление сортировки этого столбца. Нажав клавишу SHIFT, хотя нажав несколько заголовков столбцов будет сортировать по нескольким столбцам в порядке нажата. |
CTRL + щелчок строки | Если SelectionMode присваивается Extended, изменяет несмежных Выбор нескольких строк. Если строка уже выбрана, отменяет выбор строки. |
SHIFT, щелкните строку | Если SelectionMode присваивается Extended, изменяет смежные нескольких строк. |
Щелкните заголовок группы строк | Разворачивает или сворачивает группу. |
Нажмите кнопку "выбрать все" в верхнем левом углу DataGrid | Если SelectionMode присваивается Extended, выбирает все строки в DataGrid. |
Выделения мышью
Если SelectionMode свойству Extended, щелкнув строку, удерживая нажатой клавишу CTRL или SHIFT изменит выбор нескольких строк.
Если щелкнуть строку удерживая нажатой клавишу CTRL, строки изменит свое состояние выбора их текущее состояние выделения, сохраняя все остальные строки. Для этого для выбора несмежных строк.
Если щелкнуть строку нажатой клавишей SHIFT, выделение включает все строки между текущей строки и строкой привязки, который расположен в позиции текущей строки перед нажатием. Последующие нажатия нажатой клавишей SHIFT изменить текущую строку, но не строки привязки. Для этого выберите диапазон смежных строк.
CTRL + SHIFT можно объединить для выбора несмежных диапазонов соседних строк. Для этого выберите первый диапазон с помощью клавиши SHIFT + щелчок, как было описано ранее. После выбора первого диапазона строк используйте сочетание клавиш CTRL + выберите первую строку в следующего диапазона и нажмите кнопку последней строкой в следующего диапазона, удерживая нажатыми клавиши CTRL + SHIFT.