internal void OnBeginningEdit(DataGridItemCancelEventArgs e)
 {
     if (this.BeginningEdit != null)
     {
         this.BeginningEdit(this, e);
     }
 }
 internal void OnCommittingEdit(DataGridItemCancelEventArgs e)
 {
     if (this.CommittingEdit != null)
     {
         this.CommittingEdit(this, e);
     }
 }
        internal override void OnBeginningEdit(DataGridItemCancelEventArgs e)
        {
            object item = e.Item;

            // We throw instead of setting e.Cancel to True because we do not want to give the developer the chance to set it back to False.
            if (item is EmptyDataItem)
            {
                throw new DataGridException("Cannot begin edit on an empty data item or on an item that has a pending commit async operation.");
            }

            DataGridPageManagerBase pageManager = this.RootGroup.GetVirtualPageManager();

            if (pageManager.IsAsyncCommitQueuedForItem(item))
            {
                throw new DataGridException("Cannot begin edit on an empty data item or on an item that has a pending commit async operation.");
            }

            base.OnBeginningEdit(e);
        }