I have a WPF DataGrid and want to set the focus to the first item so that the user can navigate with the keyboard in the list of items, when the dialogue is opened the first time. With datagrid.Focus ( ); I can set the focus to the DataGrid, but this is apparently not the keyboard focus, because when I press the arrow down key, I cannot navigate in the DataGrid. The focus jump to the textbox "Description" but that is not what I want (see picture).
How can I set the focus and the keyboard focus in a correct way to the DataGrid? Thank for your help.
Ok, I found a solution. This works for me
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);
}
Now, I got the right focus and can navigate with keyboard.
Try giving keyboard focus manually using Keyboard.Focus -
Keyboard.Focus(dataGrid);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With