public override DragDropEffects DoDragDrop(UIElement source, Point cursorPos) { this.ThemeItem.Load(); ImageResourceThemeItem resourceThemeItem = (ImageResourceThemeItem)this.ThemeItem; byte[] numArray = ((ResourceThemeItem)resourceThemeItem).Save(false); IDataObject dataObject1 = Advent.Common.Interop.DataObject.CreateDataObject(); IDataObject dataObject2 = dataObject1; VirtualFile[] virtualFileArray = new VirtualFile[1]; virtualFileArray[0] = new VirtualFile() { Name = this.ThemeItem.Name, LastWriteTime = DateTime.Now, Contents = numArray }; VirtualFile[] files = virtualFileArray; DataObjectExtensions.SetVirtualFiles(dataObject2, files); try { VmcStudioUtil.DragDropObject = (object)this; return(DataObjectExtensions.DoDragDrop(dataObject1, source, UIExtensions.Resize(resourceThemeItem.Image, 100), cursorPos, DragDropEffects.Copy)); } finally { VmcStudioUtil.DragDropObject = (object)null; } }
private static bool ThemeItemsEqual(IThemeItem item1, IThemeItem item2) { ImageResourceThemeItem resourceThemeItem1 = item1 as ImageResourceThemeItem; ImageResourceThemeItem resourceThemeItem2 = item2 as ImageResourceThemeItem; if (resourceThemeItem1 == null || resourceThemeItem2 == null) { return(item1 == item2); } if (resourceThemeItem1.ResourceName == resourceThemeItem2.ResourceName && resourceThemeItem1.ResourceType == resourceThemeItem2.ResourceType) { return(resourceThemeItem1.DllName == resourceThemeItem2.DllName); } else { return(false); } }