Loading

关于在WP8.1中使用剪贴板的问题

熟悉WindowsPhone8.0和WindowsPhone8.1开发的朋友都应该很清楚,在windowphone8.0的 开发时代下,我们可以很轻松的使用系统提供的API进行简单的文本拷贝和复制。但是,到了WindowsPhone8.1时代,情况却大不相同,微软竟然把这个API接口给阉割了,这令很多开发者所发指,说实话,我也是很无语的,还好在即将到来的Windows10中,微软又为开发者加上了这个API接口方便开发者进行使用。在本文中,笔者主要讲述在WindowsPhone8.1下该如何解决无法使用系统剪贴板的问题。

1、直接使用剪贴板功能

即使你想直接使用系统的剪贴板功能,那也是很麻烦的(反正我还没有找到相关的直接API,如果有大牛知道相关API,求告知),但是有大牛已经为我们编写了一个类似系统剪贴板的插件,所以只要我们将它安装到我们的WindowsPhone手机上就可以可以实现数据的复制和粘贴。下面介绍一下具体的解决办法:

(1):在我们的当前工程中引入Charming Share 程序包,并在程序集中添加对InTheHand.ApplicationModel.DataTransfer的引用;

(2):在需要使用剪贴功能的页面进行代码编写:

 

  using InTheHand.ApplicationModel.DataTransfer; //导入命名空间

var data = new DataPackage(); data.SetText(Info); //参数info表示你需要进行复制到剪贴板上的字符串 Clipboard.SetContent(data);

看到这里,你可能会认为原来在WindowsPhone8.1中使用剪贴板功能原来这么简单。但是,这对于像笔者这样具有强迫症的用户来说却不是很好,因为使用这个简便功能的前提是用户的手机上必须安装一个剪贴板的插件。如果你的手机上没有安装这个软件的话,程序会自动导向这里提示你安装的。所以,对于像笔者这样的人,宁愿不用也不会下载安装的(除非特别有用)。

(3)、参考网站链接:https://www.nuget.org/packages/InTheHand.ApplicationModel.DataTransfer/8.2014.4.301

2、间接使用剪贴板功能

接下来讲一种变通的实现方法。由于我们没办法直接使用系统的剪贴板,并且还很讨厌附带安装软件,所有我们就可以使用一个支持剪贴复制的控件来代替原来不支持剪贴复制功能的控件,笔者这里推荐(优点:不用安装附带的插件,缺点:没办法一次性全部复制,只能由用户手动进行复制),在这里笔者推荐初学者使用RichTextBlock控件,因为它是用起来更方便,样式更灵活,当然还要根据实际情况而论,示例代码如下:

<RichTextBlock TextAlignment="Center" Foreground="{ThemeResource ListViewItemCheckSelectingThemeBrush}">
         <Paragraph>
                  <Run Text="{Binding Info}" FontSize="25"/>    //使用了数据绑定
          </Paragraph>
</RichTextBlock>

这样一来,我们就可以使用复制粘贴功能,并且调用的还是系统的剪贴板。主要我们进行操作的字符串不是很长,使用这种方法不失为一个两全之策。

没办法,强迫症患者,不喜欢自己的程序在使用中还要依赖别人的程序。

如果您觉得这篇博文对你有所启发,请点赞哦!!!!!

 

posted @ 2015-05-21 21:08  hippieZhou  阅读(465)  评论(0编辑  收藏  举报