回答編集履歴

1

見直しキャンペーン中

2023/07/17 13:52

投稿

TN8001
TN8001

スコア9326

test CHANGED
@@ -1,55 +1,28 @@
1
1
  `DataGrid.KeyDown`にEnterは来ない気がするんですが、`DataGrid.PreviewKeyDown`なんですかね?
2
2
 
3
-
4
-
5
- ```C#
3
+ ```cs
6
-
7
4
  private void TestDG_PreviewKeyDown(object sender, KeyEventArgs e)
8
-
9
5
  {
10
-
11
6
  if(sender is DataGrid dataGrid)
12
-
13
7
  {
14
-
15
8
  if(e.Key == Key.Enter)
16
-
17
9
  {
18
-
19
10
  e.Handled = true;
20
-
21
11
  dataGrid.Focus();
22
-
23
12
  var cellInfo = new DataGridCellInfo(dataGrid.Items[0], dataGrid.Columns[0]);
24
-
25
13
  dataGrid.CurrentCell = cellInfo;
26
14
 
27
-
28
-
29
15
  if(dataGrid.SelectionUnit == DataGridSelectionUnit.FullRow)
30
-
31
16
  {
32
-
33
17
  dataGrid.SelectedIndex = 0;
34
-
35
18
  }
36
-
37
19
  else
38
-
39
20
  {
40
-
41
21
  dataGrid.SelectedCells.Clear();
42
-
43
22
  dataGrid.SelectedCells.Add(cellInfo);
44
-
45
23
  }
46
-
47
24
  }
48
-
49
25
  }
50
-
51
26
  }
52
-
53
27
  ```
54
-
55
28
  これで希望の動作になっているように思います。