Partilhar via


Comportamento padrão de teclado e mouse no controle DataGrid

Este tópico descreve como os usuários podem interagir com o controle DataGrid usando o teclado e o mouse.

As interações típicas com o DataGrid incluem navegação, seleção e edição. O comportamento de seleção é afetado pelas propriedades SelectionMode e SelectionUnit. Os valores padrão que causam o comportamento descrito neste tópico são DataGridSelectionMode.Extended e DataGridSelectionUnit.FullRow. Alterar esses valores pode causar um comportamento diferente do descrito. Quando uma célula está no modo de edição, a funcionalidade de edição pode alterar o comportamento padrão do teclado do DataGrid.

Comportamento padrão do teclado

A tabela a seguir lista o comportamento padrão do teclado para o DataGrid.

Chave ou combinação de teclas Descrição
SETA PARA BAIXO Move o foco para a célula diretamente abaixo da célula atual. Se o foco estiver na última linha, pressionar a SETA PARA BAIXO não terá qualquer efeito.
SETA PARA CIMA Move o foco para a célula diretamente acima da célula atual. Se o foco estiver na primeira linha, pressionar a SETA PARA CIMA não faz nada.
SETA PARA A ESQUERDA Move o foco para a célula anterior na linha. Se o foco estiver na primeira célula da linha, pressionar a SETA PARA A ESQUERDA não terá efeito.
SETA DIREITA Mover o foco para a célula seguinte na linha. Se o foco estiver na última célula da linha, pressionar a SETA PARA A DIREITA não realiza nenhuma ação.
CASA Move o foco para a primeira célula da linha atual.
FIM Move o foco para a última célula da linha atual.
PÁGINA ABAIXO Se as linhas não estiverem agrupadas, role o controle para baixo pelo número de linhas totalmente exibidas. Move o foco para a última linha totalmente exibida sem alterar as colunas.

Se as linhas estiverem agrupadas, move o foco para a última linha do DataGrid sem alterar as colunas.
PÁGINA ACIMA Se as linhas não estiverem agrupadas, role o controle para cima pelo número de linhas totalmente exibidas. Move o foco para a primeira linha exibida sem alterar as colunas.

Se as linhas estiverem agrupadas, move o foco para a primeira linha do DataGrid sem alterar as colunas.
SEPARADOR Move o foco para a próxima célula na linha atual. Se o foco estiver na última célula da linha, move o foco para a primeira célula na linha seguinte. Se o foco estiver na última célula do controle, move o foco para o próximo controle na ordem de tabulação do contêiner pai.

Se a célula atual estiver no modo de edição e pressionar TAB fará com que o foco se afaste da linha atual, todas as alterações feitas na linha serão confirmadas antes que o foco seja alterado.
SHIFT+TAB (teclas de atalho) Move o foco para a célula anterior na linha atual. Se o foco já estiver na primeira célula da linha, move o foco para a última célula da linha anterior. Se o foco estiver na primeira célula do controle, move o foco para o controle anterior na ordem de tabulação do contêiner pai.

Se a célula atual estiver no modo de edição e pressionar TAB fará com que o foco se afaste da linha atual, todas as alterações feitas na linha serão confirmadas antes que o foco seja alterado.
CTRL+SETA PARA BAIXO Move o foco para a última célula da coluna atual.
CTRL+SETA PARA CIMA Move o foco para a primeira célula da coluna atual.
CTRL+SETA PARA A DIREITA Move o foco para a última célula da linha atual.
CTRL+SETA PARA A ESQUERDA Move o foco para a primeira célula da linha atual.
CTRL+INÍCIO Mova o foco para a primeira célula no controle.
CTRL+FIM Move o foco para a última célula do controle.
CTRL+PÁGINA PARA BAIXO O mesmo que PAGE DOWN.
CTRL+PAGE UP (Página para Cima) O mesmo que PAGE UP.
F2 Se a propriedade DataGrid.IsReadOnly estiver false e a propriedade DataGridColumn.IsReadOnly estiver false para a coluna atual, a célula atual será colocada no modo de edição.
ENTRAR Confirma quaisquer alterações na célula e linha atuais e move o foco para a célula diretamente abaixo da célula atual. Se o foco estiver na última fila, confirma as alterações sem mover o foco.
CES Se o controle estiver no modo de edição, cancela a edição e reverte todas as alterações feitas no controle. Se a fonte de dados subjacente implementar IEditableObject, pressionar ESC uma segunda vez cancelará o modo de edição para toda a linha.
ESPAÇO TRASEIRO Exclui o caractere antes do cursor ao editar uma célula.
SUPRIMIR Exclui o caractere após o cursor ao editar uma célula.
CTRL+ENTER Aplica quaisquer alterações na célula atual sem mudar o foco.
CTRL+A Se SelectionMode estiver definido como Extended, selecionará todas as linhas no DataGrid.

Teclas de seleção

Se a propriedade SelectionMode estiver definida como Extended, o comportamento de navegação não será alterado, mas navegar com o teclado enquanto pressiona SHIFT (incluindo CTRL+SHIFT) modificará uma seleção de várias linhas. Antes do início da navegação, o controlador marca a linha atual como uma linha âncora. Quando você navega pressionando SHIFT, a seleção inclui todas as linhas entre a linha âncora e a linha atual.

As seguintes teclas de seleção modificam a seleção de várias linhas.

  • SHIFT + SETA PARA BAIXO

  • SHIFT+SETA PARA CIMA

  • SHIFT+PÁGINA PARA BAIXO

  • SHIFT+PÁGINA PARA CIMA

  • CTRL+SHIFT+SETA PARA BAIXO

  • CTRL+SHIFT+SETA PARA CIMA

  • CTRL+SHIFT+INÍCIO

  • CTRL+SHIFT+FIM

Comportamento padrão do mouse

A tabela a seguir lista o comportamento padrão do mouse para o DataGrid.

Ação do mouse Descrição
Clique em uma linha não selecionada Torna a linha clicada a linha atual e a célula clicada a célula atual.
Clique na célula atual Coloca a célula atual no modo de edição.
Arrastar uma célula de cabeçalho de coluna Se a propriedade DataGrid.CanUserReorderColumns estiver true e a propriedade DataGridColumn.CanUserReorder estiver true para a coluna atual, move a coluna, permitindo soltá-la em uma nova posição.
Arrastar o separador de um cabeçalho de coluna Se a propriedade DataGrid.CanUserResizeColumns for true e a propriedade DataGridColumn.CanUserResize for true na coluna atual, o redimensionamento da coluna ocorrerá.
Clique duas vezes em um separador de cabeçalho de coluna Se a propriedade DataGrid.CanUserResizeColumns estiver true e a propriedade DataGridColumn.CanUserResize estiver true para a coluna atual, dimensionará automaticamente a coluna usando o modo de dimensionamento Auto.
Clique numa célula de cabeçalho de coluna Se a propriedade DataGrid.CanUserSortColumns for true e a propriedade DataGridColumn.CanUserSort for true na coluna atual, classifica a coluna.

Clicar no cabeçalho de uma coluna que já está classificada inverterá a direção de classificação dessa coluna.

Ao pressionar a tecla SHIFT e clicar em vários cabeçalhos de coluna, as colunas serão ordenadas conforme a ordem de clique.
CTRL+clique numa linha Se SelectionMode estiver definido como Extended, modificará uma seleção de várias linhas não contígua.

Se a linha já estiver selecionada, desmarque a linha.
SHIFT+clique numa linha Se SelectionMode estiver definido como Extended, modifica uma seleção contígua de várias linhas.
Clique no cabeçalho de um grupo de linhas Expande ou recolhe o grupo.
Clique no botão Selecionar tudo no canto superior esquerdo do DataGrid Se SelectionMode estiver definido como Extended, selecionará todas as linhas no DataGrid.

Seleção do mouse

Se a propriedade SelectionMode estiver definida como Extended, clicar em uma linha enquanto pressiona CTRL ou SHIFT modificará uma seleção de várias linhas.

Quando você clica em uma linha enquanto pressiona CTRL, a linha altera seu estado de seleção enquanto todas as outras linhas mantêm seu estado de seleção atual. Faça isso para selecionar linhas não adjacentes.

Quando você clica em uma linha enquanto pressiona SHIFT, a seleção inclui todas as linhas entre a linha atual e uma linha âncora localizada na posição da linha atual antes do clique. Os cliques subsequentes ao pressionar SHIFT alteram a linha atual, mas não a linha âncora. Faça isso para selecionar um intervalo de linhas adjacentes.

CTRL+SHIFT pode ser combinado para selecionar intervalos não adjacentes de linhas adjacentes. Para fazer isso, selecione o primeiro intervalo usando SHIFT + clique como descrito anteriormente. Depois que o primeiro intervalo de linhas for selecionado, use CTRL+clique para selecionar a primeira linha no próximo intervalo e, em seguida, clique na última linha no próximo intervalo enquanto pressiona CTRL+SHIFT.

Ver também