// Used for losing focus of non-control areas of the grid window, and ending datagrid edits if needed private void ClearDataGridSelection(object sender, EventArgs e) { if (ServersDataGrid.SelectedItem != null) { isCancelledByGridClick = true; ServersDataGrid.CommitEdit(); isCancelledByGridClick = false; ServersDataGrid.UnselectAll(); } ClearFocus(sender, e); }
private void ServersDataGrid_PreviewKeyDown(object sender, KeyEventArgs e) { // By handling the keydown event by default, this will prevent the datagrid tabbing to a new row if (e.Key == Key.Tab || e.Key == Key.Enter) { DataGrid dg = sender as DataGrid; if (dg.CurrentColumn.Header.ToString() == "Name") { ServersDataGrid.CommitEdit(); } else { e.Handled = true; ServersDataGrid.CommitEdit(); } } }