Esempio n. 1
0
        private IDataObject CreateDataObject(PackagePart packagePart)
        {
            var data = new DataObject();

            data.SetData(PackageFileDataFormat, packagePart.Path);

            if (packagePart is PackageFile packageFile)
            {
                long?fileSize = null;
                if (packageFile.OriginalPath != null && File.Exists(packageFile.OriginalPath))
                {
                    // Try to get the length, it may not really exist
                    try
                    {
                        fileSize = new FileInfo(packageFile.OriginalPath).Length;
                    }
                    catch (FileNotFoundException)
                    { }
                }

                data.SetData(NativeDragDrop.FileGroupDescriptorW, NativeDragDrop.CreateFileGroupDescriptorW(packageFile.Name, packageFile.LastWriteTime, fileSize));
                data.SetData(NativeDragDrop.FileContents, new LazyPackageFileStream(packageFile));
            }

            return(data);
        }
Esempio n. 2
0
        private IDataObject CreateDataObject(PackagePart packagePart)
        {
            var data = new DataObject();

            data.SetData(PackageFileDataFormat, packagePart.Path);

            if (packagePart is PackageFile packageFile)
            {
                data.SetData(DataFormats.FileDrop, new[] { packageFile.Name });
                data.SetData(NativeDragDrop.FileGroupDescriptorW, NativeDragDrop.CreateFileGroupDescriptorW(packageFile.Name, packageFile.LastWriteTime));
                data.SetData(NativeDragDrop.FileContents, new LazyPackageFileStream(packageFile));
            }

            return(data);
        }
        private IDataObject CreateDataObject(PackagePart packagePart)
        {
            var data = new DataObject();

            data.SetData(PackageFileDataFormat, packagePart.Path);

            if (packagePart is PackageFile packageFile)
            {
                long?fileSize = null;
                if (packageFile.OriginalPath != null)
                {
                    fileSize = new FileInfo(packageFile.OriginalPath).Length;
                }

                data.SetData(NativeDragDrop.FileGroupDescriptorW, NativeDragDrop.CreateFileGroupDescriptorW(packageFile.Name, packageFile.LastWriteTime, fileSize));
                data.SetData(NativeDragDrop.FileContents, new LazyPackageFileStream(packageFile));
            }

            return(data);
        }