键盘焦点到DataGrid

sim*_*one 8 c# keyboard wpf datagrid focus

我有一个WPF DataGrid,并希望将焦点设置为第一个项目,以便用户可以在第一次打开对话框时使用项目列表中的键盘进行导航.使用datagrid.Focus(); 我可以将焦点设置为DataGrid,但这显然不是键盘焦点,因为当我按下箭头键时,我无法在DataGrid中导航.焦点跳转到文本框"描述",但这不是我想要的(见图片).

在此输入图像描述

如何以正确的方式将焦点和键盘焦点设置到DataGrid?谢谢您帮忙.

sim*_*one 8

好的,我找到了解决方案.这适合我

Keyboard.Focus (GetDataGridCell (dataGridFiles.SelectedCells[0]));

private System.Windows.Controls.DataGridCell GetDataGridCell (System.Windows.Controls.DataGridCellInfo cellInfo)
{
  var cellContent = cellInfo.Column.GetCellContent (cellInfo.Item);

  if (cellContent != null)
    return ((System.Windows.Controls.DataGridCell) cellContent.Parent);

  return (null);
}
Run Code Online (Sandbox Code Playgroud)

现在,我得到了正确的焦点,可以用键盘导航.