关于在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>
这样一来,我们就可以使用复制粘贴功能,并且调用的还是系统的剪贴板。主要我们进行操作的字符串不是很长,使用这种方法不失为一个两全之策。
没办法,强迫症患者,不喜欢自己的程序在使用中还要依赖别人的程序。
如果您觉得这篇博文对你有所启发,请点赞哦!!!!!
关于在WP8.1中使用剪贴板的问题的更多相关文章
- wp8.1 Study13:在WP8.1中分享文件和数据
绪论:不同于windows, 在wp8.1中,如果不止一个程序可以接受其Uri或者文件,shell会提供一个界面让用户选择用哪个程序.而在windows中,用户可以在设置那里设置各种文件和Uri的默认 ...
- [FMX]在你的跨平台应用中使用剪贴板进行复制粘贴
[FMX]在你的跨平台应用中使用剪贴板进行复制粘贴 2017-08-10 • Android.C++ Builder.Delphi.iOS.教程 • 暂无评论 • swish •浏览 516 次 VC ...
- Unity5.x在WP8.1中无法使用Reflection API的解决方法
下班前随便写点,虽然花了不少时间但是最终得到的解决方法还是比较简单的. 第一种方法:使用WinRTLegacy.dll中的类.这个dll在生成的WP project中是自带的无需在unity工程中添加 ...
- WP8.1中C++的winodws运行时组件位移操作的差异
最近学习WP8.1应用开发,想把C语言的SM3国密算法移植到手机app中.由于把C语言的代码转换成C#代码工作量较大,因此只能用winodws运行时组件来实现. SM3国密算法是一种HASH算法,具体 ...
- 在WP8项目中使用ARMASM
由于之前项目中某些密集运算优化的需要,涉及到ARMASM相关的内容, 所以有幸可以在此分享一下自己的经验. 先铺垫一些知识: 1. ARM处理器有两种指令ARM.THUMB, 在WP8下默认是THUM ...
- delphi xe10 中使用剪贴板(跨平台)
VCL 中如何使用剪贴板咱就不说了,FMX 做为一个新的框架,提供了跨平台的剪贴板支持.FMX 对剪贴板的支持来自两个接口: IFMXClipboardService:位于 FMX.Platform. ...
- WP8.1 Study3:WP8.1中Animation应用
WP8.1上的Animation动画的API和WIN8/WIN8.1上的差不多,网上可以找到很多资料,同时可以去MSDN看官方文档. 下面是我参考一些资料,写出来的例子,希望以后有用. xaml代码如 ...
- 如何在WP8模拟器中连接本地的web服务
这个问题困扰了很久,查找答案一度找偏方向. 其实连接web服务对于wp7不是问题,因为wp7使用的网络就是本机的网络,但是到了wp8模拟器,纯粹的虚拟机,独立的设备,也就有了自己的网络连接,要当做虚拟 ...
- wp8模拟器中使用电脑键盘和模拟器的版本解释
一:如图启用和关闭 二:电脑按键对应的手机的按键 三:模拟器的版本解释
随机推荐
- 【repost】H5的新特性及部分API详解
h5新特性总览 移除的元素 纯表现的元素: basefont.big.center.font等 对可用性产生负面影响的元素: frame.frameset.noframes 新增的API 语义: 能够 ...
- B - Dropping tests
In a certain course, you take n tests. If you get ai out of bi questions correct on test i, your cum ...
- 精选!15个必备的VSCode插件
Visual Studio Code 是由微软开发的一款免费.跨平台的文本编辑器.由于其卓越的性能和丰富的功能,它很快就受到了大家的喜爱. 就像大多数 IDE 一样,VSCode 也有一个扩展和主题市 ...
- Linux源码编译安装程序
一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的lib目录下的文件 配置文件:这个不必多说,都知道 帮助文档:通常是我们在 ...
- git checkout tags with the same name as a branch
显式指定某个 tag git checkout refs/tags/ git checkout refs/tags/v0.1 显式指定某个 branch git checkout refs/heads ...
- 10.TreeSet、比较器
Comparable和Comparator Comparable 简介 Comparable 是排序接口.若一个类实现了Comparable接口,就意味着"该类支持排序". 即 ...
- 生成多个git ssh密钥
如果你已经有了一套名为 id_rsa 的公秘钥,将要生成另外一个公钥,比如 aysee ,你也可以使用任何你喜欢的名字. 步骤如下: 1.生成一个新的自定义名称的公钥: ssh-keygen -t r ...
- Swift5 语言指南(二) 版本兼容性
本书描述了Swift 5,它是Xcode 10.2中包含的Swift的默认版本.您可以使用Xcode 10.2构建以Swift 5,Swift 4.2或Swift 4编写的目标. 当您使用Xcode ...
- day 75vue 脚手架学习 脚手架的使用
前情提要: vue 自定化开发工具 (vue-cli的使用) 一:安装脚手架,以及准备 1: 下载地址, https://nodejs.org/en/download/ 2:如果下载成功,在cmd ...
- AB(ApacheBench)工具 -- 压力测试
服务器负载太大而影响程序效率也是很常见的,Apache服务器自带有一个叫AB(ApacheBench)的工具,可以对服务器进行负载测试 同时美多商城的秒杀功能也会被高负载影响,从而导致超卖现象 安装x ...