DataGrid 컨트롤에서의 기본 키보드 및 마우스 동작
이 항목에서는 사용자가 키보드와 마우스를 사용하여 DataGrid 컨트롤과 상호 작용하는 방법을 설명합니다.
DataGrid와의 일반적인 상호 작용에는 탐색, 선택 및 편집이 포함됩니다. 선택 동작은 SelectionMode 및 SelectionUnit 속성의 영향을 받습니다. 이 항목에 설명된 동작을 유발하는 기본값은 DataGridSelectionMode.Extended 및 DataGridSelectionUnit.FullRow입니다. 이러한 값을 변경하면 설명된 것과 다른 동작이 발생할 수 있습니다. 셀이 편집 모드에 있는 경우 편집 컨트롤이 DataGrid의 표준 키보드 동작을 재정의할 수 있습니다.
기본 키보드 동작
다음 표에서는 DataGrid에 대한 기본 키보드 동작을 나열합니다.
키 또는 키 조합 | 설명 |
---|---|
아래쪽 화살표 | 포커스를 현재 셀 바로 아래의 셀로 이동합니다. 포커스가 마지막 행에 있는 경우 아래쪽 화살표를 눌러도 아무런 작업이 수행되지 않습니다. |
위쪽 화살표 | 포커스를 현재 셀 바로 위의 셀로 이동합니다. 포커스가 첫 번째 행에 있는 경우 위쪽 화살표를 눌러도 아무런 작업이 수행되지 않습니다. |
왼쪽 화살표 | 행의 이전 셀로 포커스를 이동합니다. 포커스가 행의 첫 번째 셀에 있는 경우 왼쪽 화살표를 눌러도 아무런 작업이 수행되지 않습니다. |
오른쪽 화살표 | 포커스를 행의 다음 셀로 이동합니다. 포커스가 행의 마지막 셀에 있는 경우 오른쪽 화살표를 눌러도 아무런 작업이 수행되지 않습니다. |
Home | 포커스를 현재 행의 첫 번째 셀로 이동합니다. |
End | 포커스를 현재 행의 마지막 셀로 이동합니다. |
Page Down | 행이 그룹화되지 않은 경우 컨트롤을 완전히 표시되는 행 수만큼 아래로 스크롤합니다. 열을 변경하지 않고 마지막으로 완전히 표시된 행으로 포커스를 이동합니다. 행이 그룹화되면 열을 변경하지 않고 포커스를 DataGrid의 마지막 행으로 이동합니다. |
Page Up | 행이 그룹화되지 않은 경우 컨트롤을 완전히 표시되는 행 수만큼 위로 스크롤합니다. 열을 변경하지 않고 첫 번째 표시된 행으로 포커스를 이동합니다. 행이 그룹화되면 열을 변경하지 않고 포커스를 DataGrid의 첫 번째 행으로 이동합니다. |
Tab | 포커스를 현재 행의 다음 셀로 이동합니다. 포커스가 행의 마지막 셀에 있는 경우 포커스를 다음 행의 첫 번째 셀로 이동합니다. 포커스가 컨트롤의 마지막 셀에 있는 경우 부모 컨테이너의 탭 순서에서 다음 컨트롤로 포커스를 이동합니다. 현재 셀이 편집 모드에 있고 TAB 키를 누르면 포커스가 현재 행에서 벗어나게 되면 포커스가 변경되기 전에 행에 적용된 모든 변경 내용이 커밋됩니다. |
Shift+Tab | 현재 행의 이전 셀로 포커스를 이동합니다. 포커스가 이미 행의 첫 번째 셀에 있는 경우 포커스를 이전 행의 마지막 셀로 이동합니다. 포커스가 컨트롤의 첫 번째 셀에 있는 경우 부모 컨테이너의 탭 순서에서 이전 컨트롤로 포커스를 이동합니다. 현재 셀이 편집 모드에 있고 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 인 경우 현재 셀을 셀 편집 모드로 전환합니다. |
Enter 키 | 현재 셀과 행의 변경 내용을 커밋하고 포커스를 현재 셀 바로 아래의 셀로 이동합니다. 포커스가 마지막 행에 있으면 포커스를 이동하지 않고 변경 내용을 커밋합니다. |
ESC 키 | 컨트롤이 편집 모드에 있는 경우 편집을 취소하고 컨트롤에서 변경한 내용을 되돌립니다. 기본 데이터 원본이 IEditableObject를 구현하는 경우 ESC를 두 번 누르면 전체 행에 대한 편집 모드가 취소됩니다. |
Backspace | 셀을 편집할 때 커서 앞의 문자를 삭제합니다. |
DELETE | 셀을 편집할 때 커서 뒤의 문자를 삭제합니다. |
Ctrl+Enter | 포커스를 이동하지 않고 현재 셀에 변경 내용을 커밋합니다. |
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를 누른 상태에서 다음 범위의 마지막 행을 클릭합니다.
참고 항목
.NET Desktop feedback