关于在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模拟器中使用电脑键盘和模拟器的版本解释
一:如图启用和关闭 二:电脑按键对应的手机的按键 三:模拟器的版本解释
随机推荐
- linux、centos下安装配置vim
---恢复内容开始--- 1.一般情况下安装上centos后,会有vi,没有vim(以后可能会有吧) 如果不确定自己有没有vim,使用命令 rpm -qa|grep vim 查看,如果有的话,会显示三 ...
- RunTime之类与对象
我们知道,Objective-C是一门动态语言,它将很多静态语言在编译时期做的事放到了运行时来处理.用C++编写的程序通过编译器直接把函数地址硬编码进入可执行文件:而Objective-C无法通过编译 ...
- 剑指offer编程题Java实现——面试题14调整数组顺序使奇数位于偶数之前
题目: 输入一个整数数组,实现一个函数来调整该数组中数组的顺序,使得所有的奇数位于数组的前半部分,偶数位于数组的后半部分. 解题思路:数组中维护两个指针,第一个指针初始化时候指向数组头部,第二个指针初 ...
- 「SDOI2016」储能表(数位dp)
「SDOI2016」储能表(数位dp) 神仙数位 \(dp\) 系列 可能我做题做得少 \(QAQ\) \(f[i][0/1][0/1][0/1]\) 表示第 \(i\) 位 \(n\) 是否到达上界 ...
- Flask 中的 5种返回值
1.Flask中的HTTPResponse 在Flask 中的HttpResponse 在我们看来其实就是直接返回字符串 2.Flask中的Redirect 每当访问"/redi" ...
- bootstrap fileinput 使用记录
第一次使用bootstrap fileinput碰到了许多坑,做下记录 需求 本次使用bootstrap fileinput文件上传组件,主要用来上传和预览图片.作为一个后台管理功能,为某个表的某个字 ...
- MSTP-多生成树协议
多生成树协议MSTP(Multiple Spanning Tree Protocol)是IEEE 802.1s中定义的一种新型生成树协议.简单说来,STP/RSTP是基于端口的,PVST+是基于VLA ...
- Error: [ng:areq] Argument ‘AppCtrl’ is not a function, got undefined
今天把用ionic做一个案例,和ionic示例项目差不多,只是用requirejs分离了controller,但是一直报错 Error: [ng:areq] Argument ‘AppCtrl’ is ...
- linux下的shell脚本的使用
什么是shell? Shell是一个命令解释器,它在操作系统的最外层,负责直接与用户进行对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕反馈给用户.这种对话方式可是交互 ...
- 详谈再论JAVA获取本机IP地址
首先,你如果搜索“JAVA获取本机IP地址”,基本上搜到的资料全是无用的.比如这篇:http://www.cnblogs.com/zrui-xyu/p/5039551.html实际上的代码在复杂环境下 ...