关于在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模拟器中使用电脑键盘和模拟器的版本解释
一:如图启用和关闭 二:电脑按键对应的手机的按键 三:模拟器的版本解释
随机推荐
- 【算法python实现】 -- 不同路径II
原题:https://leetcode-cn.com/problems/unique-paths-ii/ 思路 与上题相同,不过是加了路障.地图上每一格都有两个状态,有路障或无路障,分别以1和0表示其 ...
- 将Linux(ubuntu)安装到U盘上,实现即插即用
说明: 本教程是说明如何将ubuntu系统安装到U盘上(也就是把U盘当做电脑的硬盘),可以实现U盘插到任何电脑上都能够在实体机上运行ubuntu系统,而且所有的运行配置都能被保存,相当于随身携带的一个 ...
- Windows UDP sockets: recvfrom() fails with error 10054
https://stackoverflow.com/questions/34242622/windows-udp-sockets-recvfrom-fails-with-error-10054 #in ...
- IPv6技术详解:基本概念、应用现状、技术实践(上篇)
本文来自微信技术架构部的原创技术分享. 1.前言 普及IPV6喊了多少年了,连苹果的APP上架App Store也早已强制IPV6的支持,然并卵,因为历史遗留问题,即使在IPV4地址如果饥荒的情况下, ...
- SGD vs Momentum vs NAG vs Adagrad vs Adadelta vs RMSprop vs Adam
梯度下降优化基本公式:\({\theta\leftarrow\theta-\eta\cdot\nabla_\theta{J(\theta)}}\) 三种梯度下降优化框架 这三种梯度下降优化框架的区别在 ...
- jquery选择器和属性
jQuery的选择器 <html lang="en"> <head> <meta charset="UTF-8"> < ...
- 从零开始学 Web 之 JavaScript(三)函数
大家好,这里是「 Daotin的梦呓 」从零开始学 Web 系列教程.此文首发于「 Daotin的梦呓 」公众号,欢迎大家订阅关注.在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识 ...
- MongoDB 备份与还原 mongodump、mongorestore
目录 MongoDB 备份与还原 一. MongoDB 备份 1.mongodump 2 .cp 或者rsync 3.单节点意外关闭后,如何恢复数据 4.查看备份数据 二.MongoDB 还原 1.m ...
- Velocity常用语法详解
果然公司用的东西跟平时学的东西不太一样,我们公司前台页面并不是我们熟悉的.html或者.jsp文件,而是很多人不知道的 .vm文件,其实只要我们理解了jsp文件,vm文件也就是一些基本语法不同而已. ...
- find 命令参数大全
Linux中find常见用法示例 ·find path -option [ -print ] [ -exec -ok command ] {} \; find命令的参数 ...