internal bool RaiseCurrentCellValidatingEvent(object oldValue, object newValue, TreeGridColumn column, out object changedNewValue, RowColumnIndex currentCellIndex, FrameworkElement currentCell, out string errorMessage, object rowData, TreeNode node) { var e = new TreeGridCurrentCellValidatingEventArgs(treeGrid) { OldValue = oldValue, NewValue = newValue, Column = column, IsValid = true, RowData = rowData, Node = node }; var isValid = treeGrid.RaiseCurrentCellValidatingEvent(e); changedNewValue = e.NewValue; var cell = currentCell as TreeGridCell; if (!isValid) { cell.SetError(e.ErrorMessage, false); } else if (errorMessages == null || !(errorMessages.Keys.Any(x => x == column.MappingName))) { cell.RemoveError(false); } errorMessage = e.ErrorMessage; return(isValid); }