Compartilhar 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.

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 daquele descrito. Quando uma célula está no modo de edição, o controle de edição pode substituir o comportamento de teclado padrão do DataGrid.

Comportamento padrão do teclado

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

Tecla 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 SETA PARA BAIXO não fará nada.
SETA PARA CIMA Move o foco para a célula diretamente acima da célula atual. Se o foco estiver na primeira linha, pressionar SETA PARA CIMA não fará nada.
SETA PARA A ESQUERDA Move o foco para a célula anterior na linha. Se o foco estiver na primeira célula na linha, pressionar SETA PARA A ESQUERDA não fará nada.
SETA PARA A DIREITA Move o foco para a próxima célula na linha. Se o foco estiver na última célula na linha, pressionar SETA PARA A DIREITA não fará nada.
CASA Move o foco para a primeira célula na linha atual.
END Move o foco para a última célula na linha atual.
PAGE DOWN Se as linhas não estiverem agrupadas, rola o controle para baixo pelo número de linhas que são totalmente exibidas. Move o foco para a última linha totalmente exibida sem alterar colunas.

Se as linhas forem agrupadas, mova o foco para a última linha no DataGrid sem alterar colunas.
PAGE UP Se as linhas não estiverem agrupadas, role o controle para cima de acordo com o número de linhas totalmente exibidas. Move o foco para a primeira linha exibida sem alterar colunas.

Se as linhas forem agrupadas, mova o foco para a primeira linha no DataGrid sem alterar colunas.
TAB Move o foco para a próxima célula na linha atual. Se o foco estiver na última célula da linha, mova o foco para a primeira célula na próxima linha. Se o foco estiver na última célula no controle, moverá 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 fizer 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 Move o foco para a célula anterior na linha atual. Se o foco já estiver na primeira célula da linha, mova o foco para a última célula na linha anterior. Se o foco estiver na primeira célula no controle, moverá 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 fizer 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 na coluna atual.
CTRL+SETA PARA CIMA Move o foco para a primeira célula na coluna atual.
CTRL + SETA PARA A DIREITA Move o foco para a última célula na linha atual.
CTRL + SETA PARA A ESQUERDA Move o foco para a primeira célula na linha atual.
CTRL+HOME Move o foco para a primeira célula no controle.
CTRL+END Move o foco para a última célula do controle.
CTRL+PAGE DOWN O mesmo que PAGE DOWN.
CTRL+PAGE UP O mesmo que PAGE UP.
F2 Se a propriedade DataGrid.IsReadOnly for false e a propriedade DataGridColumn.IsReadOnly for false para a coluna atual, coloca a célula atual em modo de edição.
ENTER Confirma qualquer alteração na célula e linha atual e move o foco para a célula diretamente abaixo da célula atual. Se o foco estiver na última linha, confirmará as alterações sem mover o foco.
ESC Se o controle estiver no modo de edição, cancelará a edição e reverterá as alterações que foram 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.
BACKSPACE Exclui o caractere antes do cursor ao editar uma célula.
DELETE Exclui o caractere após o cursor ao editar uma célula.
CTRL+ENTER Confirma as alterações na célula atual sem mover o foco.
CTRL+A Se SelectionMode estiver definido como Extended, selecione todas as linhas no DataGrid.

Teclas de seleção

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

As chaves de seleção a seguir modificam a seleção de várias linhas.

  • SHIFT + SETA ABAIXO

  • CTRL+SETA PARA CIMA

  • SHIFT + PAGE DOWN

  • SHIFT+PAGE UP

  • CTRL + SHIFT + SETA PARA BAIXO

  • CTRL + SHIFT + SETA PARA CIMA

  • CTRL+SHIFT+HOME

  • CTRL+SHIFT+END

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 Define a linha clicada como a linha atual e a célula clicada como 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 for true e a propriedade DataGridColumn.CanUserReorder for true para a coluna atual, mova a coluna para que ela possa ser posicionada em uma nova posição.
Arrastar um separador de cabeçalho de coluna Se a propriedade DataGrid.CanUserResizeColumns for true e a propriedade DataGridColumn.CanUserResize for true para a coluna atual, então redimensione a coluna.
Clique duas vezes em um separador de cabeçalho de coluna Se a propriedade DataGrid.CanUserResizeColumns for true e a propriedade DataGridColumn.CanUserResize for true para a coluna atual, redimensiona automaticamente a coluna usando o modo de dimensionamento Auto.
Clicar em uma célula de cabeçalho de coluna Se a propriedade DataGrid.CanUserSortColumns for true e a propriedade DataGridColumn.CanUserSort for true para a coluna atual, então classifica a coluna.

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

Pressionar a tecla SHIFT enquanto clica em vários cabeçalhos de coluna organizará as colunas na ordem clicada.
CTRL+clique em uma 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 em uma linha Se SelectionMode estiver definido como Extended, modificará uma seleção contígua de várias linhas.
Clicar em um cabeçalho de grupo de linha Expande ou recolhe o grupo.
Clique no botão Selecionar Tudo no canto superior esquerdo do DataGrid Se SelectionMode estiver definido como Extended, selecione todas as linhas no DataGrid.

Seleção do Mouse

Se a propriedade SelectionMode estiver definida como Extended, clicar em uma linha ao pressionar 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 o estado de seleção atual. Faça isso para selecionar linhas não adjacentes.

Quando você clica em uma linha ao pressionar SHIFT, a seleção inclui todas as linhas entre a linha atual e uma linha de â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 de â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, conforme descrito anteriormente. Depois que o primeiro intervalo de linhas for selecionado, use CTRL+clique para selecionar a primeira linha no próximo intervalo e clique na última linha no próximo intervalo enquanto pressiona CTRL+SHIFT.

Consulte também