private void grdPandS_LostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e) { if (e.OriginalSource.GetType() == typeof(DataGridCell)) { if ((bool)rdnIncludeGST.IsChecked) { m_excludeTax = false; } else { m_excludeTax = true; } int retunedRowIndex = -1; DataGridColumn column = grdPandS.CurrentColumn; DataGrid pdGrid = sender as DataGrid; if (column != null && column.Header != null) { pandsViewModel.CalculateTotal(m_excludeTax); var focusedElement = Keyboard.FocusedElement as UIElement; TextBlock cmbPandSHeader = column.Header as TextBlock; if (pandsViewModel.QtyJumptoNextRow == true && cmbPandSHeader != null) { if (cmbPandSHeader.Name.Equals("txtHeaderPandSname", StringComparison.CurrentCultureIgnoreCase)) { retunedRowIndex = ManageDuplicatePandS(); if (focusedElement != null) { if (retunedRowIndex > -1) { focusedElement.MoveFocus(new TraversalRequest(FocusNavigationDirection.Left)); } else { focusedElement.MoveFocus(new TraversalRequest(FocusNavigationDirection.Down)); } } } } else if (column.Header.ToString() == "Amount") { retunedRowIndex = ManageDuplicatePandS(); if (retunedRowIndex > -1) { focusedElement.MoveFocus(new TraversalRequest(FocusNavigationDirection.Left)); } } // e.Handled = true; } } }