欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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;
}

之前的文章,同样欢迎访问,并未过期……