如何在Silverlight 4中检测Ctrl+V?

5

如何在 Silverlight 中检测 Ctrl+V 是最好的方法?

我想检测 Ctrl+V,以便访问剪贴板。


1
你想在你的应用程序中全局拦截Ctrl+V吗? - Alexander Zwitbaum
2个回答

6

0

编辑

在您的Silverlight应用程序中全局捕获CTRL+V按键是非常困难的。事件从子元素开始并向下冒泡到父控件,因此仅在根UIElement上处理KeyDown将不起作用。任何文本输入控件都会首先获取事件并压制它(通过在事件参数上设置Handled为true)。我认为,如果您使用DOM桥接并订阅浏览器KeyDown事件以针对Silverlight元素本身添加处理程序,您实际上可以首先获取它,并且甚至可以在任何Silverlight控件之前完全处理它。我认为这是拦截CTRL+V的最简单方法,但我还没有测试过。

原始答案

您应该使用System.Windows.Clipboard类。

  • GetText,从剪贴板检索文本
  • SetText,将文本放置在剪贴板上
  • ContainsText,指示剪贴板当前是否包含文本

问题不在于如何访问剪贴板,而在于当用户使用“粘贴功能”时如何访问。 - eflles

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接