UWP 剪贴板 Clipboard

简介: 原文:UWP 剪贴板 ClipboardClipboard使用Windows.ApplicationModel.DataTransfer.Clipboard   设置文本   DataPackage dataPackage = new DataPackage(); dataPackage.
原文: UWP 剪贴板 Clipboard

Clipboard使用Windows.ApplicationModel.DataTransfer.Clipboard

 

设置文本

 

DataPackage dataPackage = new DataPackage();
dataPackage.SetText("文本");
Clipboard.SetContent(dp);

 

 

获取文本

检查剪贴板包含文本

DataPackageView con = Windows.ApplicationModel.DataTransfer.Clipboard.GetContent();
if (con.Contains(StandardDataFormats.Text))
{

            DataPackageView con = Windows.ApplicationModel.DataTransfer.Clipboard.GetContent();
            string str = string.Empty;
            if (con.Contains(StandardDataFormats.Text))
            {
                str = await con.GetTextAsync();
            }
}

 

 

获取图片

if (con.Contains(StandardDataFormats.Bitmap))
            {
                RandomAccessStreamReference img = await con.GetBitmapAsync();
                var imgstream = await img.OpenReadAsync();
                BitmapImage bitmap = new BitmapImage();
                bitmap.SetSource(imgstream);

                Windows.UI.Xaml.Media.Imaging.WriteableBitmap src = new Windows.UI.Xaml.Media.Imaging.WriteableBitmap(bitmap.PixelWidth, bitmap.PixelHeight);
                src.SetSource(imgstream);

                Windows.Graphics.Imaging.BitmapDecoder decoder = await Windows.Graphics.Imaging.BitmapDecoder.CreateAsync(imgstream);
                Windows.Graphics.Imaging.PixelDataProvider pxprd = await decoder.GetPixelDataAsync(Windows.Graphics.Imaging.BitmapPixelFormat.Bgra8, Windows.Graphics.Imaging.BitmapAlphaMode.Straight, new Windows.Graphics.Imaging.BitmapTransform(), Windows.Graphics.Imaging.ExifOrientationMode.RespectExifOrientation, Windows.Graphics.Imaging.ColorManagementMode.DoNotColorManage);
                byte[] buffer = pxprd.DetachPixelData();

                str = "image";
                StorageFolder folder = await _folder.GetFolderAsync(str);

                StorageFile file = await folder.CreateFileAsync(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + ".png", CreationCollisionOption.GenerateUniqueName);

                using (var fileStream = await file.OpenAsync(FileAccessMode.ReadWrite))
                {
                    var encoder = await Windows.Graphics.Imaging.BitmapEncoder.CreateAsync(Windows.Graphics.Imaging.BitmapEncoder.PngEncoderId, fileStream);
                    encoder.SetPixelData(Windows.Graphics.Imaging.BitmapPixelFormat.Bgra8, Windows.Graphics.Imaging.BitmapAlphaMode.Straight, decoder.PixelWidth, decoder.PixelHeight, decoder.DpiX, decoder.DpiY, buffer);
                    await encoder.FlushAsync();
                }
            }

 

 

获取文件

            if (con.Contains(StandardDataFormats.StorageItems))
            {
                var filelist = await con.GetStorageItemsAsync();
                foreach (StorageFile t in filelist)
                {

                }
            }

 

 

IStorageItem 转 StorageFile

if (t.IsOfType(StorageItemTypes.File))
                    {
                        StorageFile storageFile = storageItem as StorageFile;
                    }

 

 

 

参考 https://blog.csdn.net/lindexi_gd/article/details/50479180

 

目录
相关文章
|
JavaScript 前端开发
JavaScript 剪贴板 Clipboard 的那些事儿!
JavaScript 剪贴板 Clipboard 的那些事儿!
|
Web App开发 存储 前端开发
WEB 剪切板操作navigator.clipboard的使用
浏览器允许 JavaScript 脚本读写剪贴板,自动复制或粘贴内容,而这一切都是通过 navigator clipboard 的API来实现的。剪贴板可以用于存储数据并在应用程序内部或应用程序之间使用的临时空间。这些操作的 API 都是异步操作并返回一个 promise。
2240 0
SwiftUI—如何快速打开一个模态窗口
SwiftUI—如何快速打开一个模态窗口
401 0
SwiftUI—如何快速打开一个模态窗口
|
C#
wpf 复制/剪切到本地系统剪切板中以供右键粘贴用
原文:wpf 复制/剪切到本地系统剪切板中以供右键粘贴用   http://www.cnblogs.com/yhdkzy/archive/2012/11/27/2790655.html   ///         /// 复制或剪切文件到剪切板         /// ...
1220 0
[UWP]使用Reveal
原文:[UWP]使用Reveal 1. 前言 之前在 如何使用Fluent Design System 这篇文章里已经简单介绍过Reveal的用法,这篇再详细介绍其它内容。 2. 自定义RevealButtonStyle 我觉得常用ItemsControl都已经自动应用了Reveal,用就是了。
984 0
|
Go
UWP 拖拽文件
原文:UWP 拖拽文件 桌面环境下的UWP,加入拖拽模式还是会增加用户好感度的。 好了,先看一下我最新研发的【小微识花】吧,演示一下       炫酷,有没有, 而且这识别速度,也是杠杠的~~~    关于拖拽的实现,一般有两个方法。
945 0
UWP 使用UCT的Markdown控件
原文:UWP 使用UCT的Markdown控件 之前在网上偶然碰到过 一个在线的Markdown Text编辑器 http://mahua.jser.me/,功能很齐全。       然后就突然有了一个大胆的想法 这个玩意要是在uwp中实现,用来做更新日志说明,岂不是美滋滋   嘿嘿嘿,是的,确实美滋滋。
1132 0
|
iOS开发 Web App开发