protected override async Task ExecuteAsync(ClipboardImplementationViewModel parameter) { var dataObject = new DataObject(); DataObjectExtensions.SetLinkedWClipboardId(dataObject, parameter.Model.ClipboardObject.Id); await parameter.Model.Factory.WriteToDataObject(parameter.Model, dataObject); SysClipboard.SetDataObject(dataObject, false); }
protected override void Execute(BitmapImplementationViewModel parameter) { var option = (BitmapFileOption)setting.GetResolvedValue(); var fileName = tempManager.Value.GetNewFileName(option.Extension); parameter.Model.GetImage().Save(fileName, option.CreateEncoder()); var dataObject = new DataObject(); DataObjectExtensions.SetLinkedWClipboardId(dataObject, parameter.Model.ClipboardObject.Id); dataObject.SetFileDropList(fileName); Clipboard.SetDataObject(dataObject); }
protected override async void Execute(TextClipboardImplementationViewModel parameter) { var fileName = _tempManager.Value.GetNewFileName("txt"); using (var sw = new StreamWriter(fileName, false, Encoding.Unicode)) { await sw.WriteAsync(parameter.Model.Source).ConfigureAwait(true); } var dataObject = new DataObject(); DataObjectExtensions.SetLinkedWClipboardId(dataObject, parameter.Model.ClipboardObject.Id); dataObject.SetFileDropList(fileName); Clipboard.SetDataObject(dataObject); }
public static async Task <DataObject> GetDataObject(this ClipboardObject clipboardObject) { var dataObject = new DataObject(); DataObjectExtensions.SetWClipboardId(dataObject, clipboardObject.Id); if (clipboardObject.Linked != null) { DataObjectExtensions.SetLinkedWClipboardId(dataObject, clipboardObject.Linked.Id); } foreach (var implementation in clipboardObject.Implementations) { await implementation.Factory.WriteToDataObject(implementation, dataObject); } return(dataObject); }