コード例 #1
0
        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;
                }
            }
        }