我在之前的文章《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之与剪切板通信相关推荐

  1. 进程的通信 - 剪切板

    剪切板是系统维护管理的一块内存区域,本机的所有进程都可以访问.当一个进程复制数据时,先将数据放在该内存区,当另一个进程粘贴时,则是从该内存区块取出数据 剪切板操作: 其实在剪切板中也就那几个API在使 ...

  2. win32下进程间通信方式之管道、邮件槽、剪切板、共享内存、消息、套接字、RPC、DDE等

    #include "stdafx.h"/*32位Windows采用虚拟内存技术使每个进程虚拟4G内存,在逻辑上实现了对进程之间数据代码的分离与保护.那么相应的进程之间的通信也就有必 ...

  3. 进程间通信——剪切板

    要点总结: 1.剪切板是操作系统维护的一块内存区域,本机所有进程都可以访问. 2.剪切板内存从哪里来?不是一开机就分配的,是程序要将数据放入剪切板时分配内存的. 3.但:malloc和 new内存是在 ...

  4. Windows进程间通信之剪切板

    Windows平台下进程间通信的方式:剪切板.匿名管道.命名管道.邮槽. 实际上socket网络通信就是在两个进程之间的通信,需了解相关的网络协议. 一.剪切板 剪切板是所有进程都可以访问的. 发送端 ...

  5. tmux系统剪切板_实践中的tmux:与系统剪贴板集成

    tmux系统剪切板 by Alexey Samoshkin 通过阿列克谢·萨莫什金(Alexey Samoshkin) 在实践中使用tmux:与系统剪贴板集成 (tmux in practice: i ...

  6. android读取剪切板的方法,Android复制粘贴剪切板内容的一种方法

    1 Clipper介绍 Clipper是一款简单的app, 它可以通过一行adb shell命令来和安卓系统剪切板服务交互. 官方说明:https://github.com/majido/clippe ...

  7. Python中将pandas的dataframe拷贝到剪切板并保持格式实战:to_clipboard()函数、复制到Excel文件、复制到文本文件(默认是tsv格式)、复制到文本文件(设置逗号分隔符)

    Python中将pandas的dataframe拷贝到剪切板并保持格式实战:to_clipboard()函数.复制到Excel文件.复制到文本文件(默认是tsv格式).复制到文本文件(设置逗号分隔符) ...

  8. js实现复制文本内容到剪切板

    js实现复制文本内容到剪切板 一.总结 一句话总结:就是document的execCommand('copy')方法 二.js实现复制文本内容到剪切板 直接上代码: 1 <script type ...

  9. vim 寄存器,剪切板

    为什么80%的码农都做不了架构师?>>> 在vim里面写原创文章,或者转帖自己看到的经典文章: 在vim里面写好之后,排好版,然后,快捷键操作:gg, shift+V, shift ...

最新文章

  1. UA OPTI512R 傅立叶光学导论3 用复变函数表示物理量
  2. halcon create_ocr_class_svm 使用SVM分类器创建OCR分类器
  3. http响应消息的响应状态码和意义
  4. 如何使用Node.js,Express和MongoDB设置GraphQL服务器
  5. OpenShift 4 之通过ImageTrigger自动构建变化级联镜像
  6. 马化腾一直都在闷声发财,马云却到处开课当导师
  7. Swift - 炫酷放射弹出按钮菜单(改造自AwesomeMenu)
  8. 拼多多关键词搜索接口,商品分类ID搜索商品列表接口,关键词搜索商品销量接口,拼多多销量API接口
  9. 严格执行系统,严格止损,不要心存侥幸,勇敢承认错误,不给自己的错误找理由。
  10. 苹果企业证书_苹果ios端企业证书应用恢复
  11. 计算机类专业英文缩写,计算机专业英文缩写词汇汇总
  12. 十九、D触发器做二分频器解析:
  13. 查询建立连接的IP地址
  14. Mybatis注解-注解方式的动态SQL语句
  15. [宋史学习] 赵元僖
  16. 2023年山东大学849软件工程专业考研全套下载
  17. Rasa 3.x 学习系列- Rasa - Issues 4873 dispatcher.utter_message 学习笔记
  18. 【转】面向程序员的数据库访问性能优化法则
  19. B站视频播放声音调到最大仍然听不清楚怎么办?
  20. 云服务器的购买和使用教程(腾讯云为例)

热门文章

  1. 百年古董电影秒变4K高清、60FPS,AI插值,还能着色
  2. CVPR 2019 | 腾讯AI Lab 6大前沿方向33篇入选论文解读
  3. 李沐分享斯坦福2021秋季新课:实用机器学习
  4. 总结 | 深度学习PyTorch神经网络箱使用
  5. 基于自然语言识别下的流失用户预警
  6. VS-001-概述-003-系统架构及业务流程--004-常见问题定位思路
  7. 在线翻译英文html文件,copy html是什么意思
  8. linux和win10运行效率,Ubuntu与Win10周年版Ubuntu Bash性能对比
  9. Python学习入门9:如何高效学Python?
  10. 计算机桌面怎么换服,电脑管家桌面整理怎么更换电脑壁纸?