Silverlight4Beta之与剪切板通信
我在之前的文章《Silverlight4Beta之鼠标右键支持》中提到sl4终于支持鼠标右键了。虽然未提供上下文菜单控件,但是想来实现也并不难。而上下文菜单最普遍的操作便是复制/粘贴/剪切此类的功能,今儿我们就来说说Silverlight4Beta的另外一个简单的新特性:与剪切板通信(在之前的sl版本中,因为没有内置对剪切板通信的支持,我们只能通过调用js的手段实现sl与剪切板的通信)
没错,sl4确实是支持剪切板了,不过功能倒是少的可怜。
剪切板的所有功能位于System.Windows.Clipboard这个类之下,让我们看一下它的成员定义:
public static bool ContainsText(); 剪切板中是否包含文本 public static string GetText(); 得到剪切板中的文本内容
public static void SetText(string text); 设置剪切板的文本内容
仅此三个方法而已。成员当真少的可怜,功能也着实简单的过分。正如上面我加的注释一样,sl4只支持处理剪切板中的文本信息,什么图片啦、其他多媒体信息啦就一概别想了。
接下来我们做一个简单的例子,代码均简单的很,就不详细解释了。
XAML如下
<Grid x:Name="LayoutRoot" Background="White"><StackPanel Orientation="Horizontal" Height="40"><TextBox AcceptsReturn="True" x:Name="txtText" Width="150" /><Button Content="复制" Click="Copy" /><Button Content="粘贴" Click="Paste" /></StackPanel> </Grid>
C#代码如下
public partial class MainPage : UserControl {public MainPage() {InitializeComponent();}private void Paste(object sender, RoutedEventArgs e) {if (Clipboard.ContainsText())txtText.Text = Clipboard.GetText();}private void Copy(object sender, RoutedEventArgs e) {if (!string.IsNullOrEmpty(txtText.Text.Trim()))Clipboard.SetText(txtText.Text);} }
运行效果如下:
另外出去安全问题,当sl第一次与剪切板通信时需要用户同意
关于安全的详细解释可以参见我的这篇博文:《Silverlight4Beta之操作摄像头/麦克风》中的相关内容。
OK,have fun~
转载于:https://www.cnblogs.com/024hi/archive/2010/01/11/1644238.html
Silverlight4Beta之与剪切板通信相关推荐
- 进程的通信 - 剪切板
剪切板是系统维护管理的一块内存区域,本机的所有进程都可以访问.当一个进程复制数据时,先将数据放在该内存区,当另一个进程粘贴时,则是从该内存区块取出数据 剪切板操作: 其实在剪切板中也就那几个API在使 ...
- win32下进程间通信方式之管道、邮件槽、剪切板、共享内存、消息、套接字、RPC、DDE等
#include "stdafx.h"/*32位Windows采用虚拟内存技术使每个进程虚拟4G内存,在逻辑上实现了对进程之间数据代码的分离与保护.那么相应的进程之间的通信也就有必 ...
- 进程间通信——剪切板
要点总结: 1.剪切板是操作系统维护的一块内存区域,本机所有进程都可以访问. 2.剪切板内存从哪里来?不是一开机就分配的,是程序要将数据放入剪切板时分配内存的. 3.但:malloc和 new内存是在 ...
- Windows进程间通信之剪切板
Windows平台下进程间通信的方式:剪切板.匿名管道.命名管道.邮槽. 实际上socket网络通信就是在两个进程之间的通信,需了解相关的网络协议. 一.剪切板 剪切板是所有进程都可以访问的. 发送端 ...
- tmux系统剪切板_实践中的tmux:与系统剪贴板集成
tmux系统剪切板 by Alexey Samoshkin 通过阿列克谢·萨莫什金(Alexey Samoshkin) 在实践中使用tmux:与系统剪贴板集成 (tmux in practice: i ...
- android读取剪切板的方法,Android复制粘贴剪切板内容的一种方法
1 Clipper介绍 Clipper是一款简单的app, 它可以通过一行adb shell命令来和安卓系统剪切板服务交互. 官方说明:https://github.com/majido/clippe ...
- Python中将pandas的dataframe拷贝到剪切板并保持格式实战:to_clipboard()函数、复制到Excel文件、复制到文本文件(默认是tsv格式)、复制到文本文件(设置逗号分隔符)
Python中将pandas的dataframe拷贝到剪切板并保持格式实战:to_clipboard()函数.复制到Excel文件.复制到文本文件(默认是tsv格式).复制到文本文件(设置逗号分隔符) ...
- js实现复制文本内容到剪切板
js实现复制文本内容到剪切板 一.总结 一句话总结:就是document的execCommand('copy')方法 二.js实现复制文本内容到剪切板 直接上代码: 1 <script type ...
- vim 寄存器,剪切板
为什么80%的码农都做不了架构师?>>> 在vim里面写原创文章,或者转帖自己看到的经典文章: 在vim里面写好之后,排好版,然后,快捷键操作:gg, shift+V, shift ...
最新文章
- UA OPTI512R 傅立叶光学导论3 用复变函数表示物理量
- halcon create_ocr_class_svm 使用SVM分类器创建OCR分类器
- http响应消息的响应状态码和意义
- 如何使用Node.js,Express和MongoDB设置GraphQL服务器
- OpenShift 4 之通过ImageTrigger自动构建变化级联镜像
- 马化腾一直都在闷声发财,马云却到处开课当导师
- Swift - 炫酷放射弹出按钮菜单(改造自AwesomeMenu)
- 拼多多关键词搜索接口,商品分类ID搜索商品列表接口,关键词搜索商品销量接口,拼多多销量API接口
- 严格执行系统,严格止损,不要心存侥幸,勇敢承认错误,不给自己的错误找理由。
- 苹果企业证书_苹果ios端企业证书应用恢复
- 计算机类专业英文缩写,计算机专业英文缩写词汇汇总
- 十九、D触发器做二分频器解析:
- 查询建立连接的IP地址
- Mybatis注解-注解方式的动态SQL语句
- [宋史学习] 赵元僖
- 2023年山东大学849软件工程专业考研全套下载
- Rasa 3.x 学习系列- Rasa - Issues 4873 dispatcher.utter_message 学习笔记
- 【转】面向程序员的数据库访问性能优化法则
- B站视频播放声音调到最大仍然听不清楚怎么办?
- 云服务器的购买和使用教程(腾讯云为例)
热门文章
- 百年古董电影秒变4K高清、60FPS,AI插值,还能着色
- CVPR 2019 | 腾讯AI Lab 6大前沿方向33篇入选论文解读
- 李沐分享斯坦福2021秋季新课:实用机器学习
- 总结 | 深度学习PyTorch神经网络箱使用
- 基于自然语言识别下的流失用户预警
- VS-001-概述-003-系统架构及业务流程--004-常见问题定位思路
- 在线翻译英文html文件,copy html是什么意思
- linux和win10运行效率,Ubuntu与Win10周年版Ubuntu Bash性能对比
- Python学习入门9:如何高效学Python?
- 计算机桌面怎么换服,电脑管家桌面整理怎么更换电脑壁纸?