Universal Windows Platform 第一弹 使用剪切板
程序员文章站
2022-03-23 11:50:55
不知道是否还有童鞋记得我上半年写的一系列Windows App开发的博客,那时候Windows 10还处于预览版,UWP(Universal Windows Platform)当时...
不知道是否还有童鞋记得我上半年写的一系列Windows App开发的博客,那时候Windows 10还处于预览版,UWP(Universal Windows Platform)当时也还处于雏形阶段。
在当时的专栏的首篇中,我们就展望过UWP,而如今的UWP简直是更上百层楼了,定当让你刮目相看。
不过,这一篇还是先来介绍一下剪切板的功能,因为之前的文章仅仅是介绍了从应用外剪切/复制到应用内,并没有介绍如何剪切到应用外,这里就通过一个小小的示例来看看吧。
复制文本
private void BtnClip_Click(object sender, RoutedEventArgs e) { string str = 待复制; DataPackage dp = new DataPackage(); dp.SetText(str); Clipboard.SetContent(dp); }
复制图片
private async void BtnClip2_Click(object sender, RoutedEventArgs e) { DataPackage dp = new DataPackage(); Uri uri = new Uri(ms-appx:///Assets/ms.png); StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(uri); dp.SetBitmap(RandomAccessStreamReference.CreateFromUri(uri)); Clipboard.SetContent(dp); }
粘贴文本/图片
DataPackageView pv = Clipboard.GetContent(); if (pv.Contains(StandardDataFormats.Text)) { var txt = await Clipboard.GetContent().GetTextAsync(); tBlockClipboard.Text = txt; } else if (pv.Contains(StandardDataFormats.Bitmap)) { var bmp = await Clipboard.GetContent().GetBitmapAsync(); BitmapImage bitMap = new BitmapImage(); bitMap.SetSource(await bmp.OpenReadAsync()); this.imgClicpboard.Source = bitMap; }
之前的文章,同样欢迎访问,并未过期……
上一篇: 关于mvvm模式中消息传递的疑问