/// <summary> /// This method is used to perform the paste operation for the copied cell value to selected record cell. /// </summary> /// <param name="value"> /// Contains copied cell value to paste.</param> /// <param name="column"> /// Contains the corresponding column of the selected cell.</param> /// <param name="record"> /// Contains the record of the selected cell. /// </param> protected virtual void PasteCell(object record, TreeGridColumn column, object value) { if (this.TreeGrid.View == null) { return; } var provider = this.TreeGrid.View.GetPropertyAccessProvider(); object properyCollection; if (!(TreeGrid.View is TreeGridUnboundView)) { properyCollection = this.TreeGrid.View.GetItemProperties(); } else { #if UWP PropertyInfoCollection typeInfos = new PropertyInfoCollection(record.GetType()); properyCollection = typeInfos.GetItemPropertyInfo(); #else PropertyDescriptorCollection typeInfos = TypeDescriptor.GetProperties(record); properyCollection = typeInfos.GetItemPropertyInfo(); #endif } if (properyCollection == null) { return; } var pasteargs = this.RaisePasteGridCellContentEvent(column, record, value); value = pasteargs.ClipBoardValue; if (!pasteargs.Handled) { CommitValue(record, column, value); } }