如何在 Silverlight 中检测 Ctrl+V 是最好的方法?
我想检测 Ctrl+V,以便访问剪贴板。
如何在 Silverlight 中检测 Ctrl+V 是最好的方法?
我想检测 Ctrl+V,以便访问剪贴板。
if (e.Key == Key.V)
{
if ((Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
{
//do what you want on paste
}
}
您需要在键盘松开事件上使用它。更多详情可以在这里找到:http://msdn.microsoft.com/en-us/library/cc189015%28VS.95%29.aspx
编辑
在您的Silverlight应用程序中全局捕获CTRL+V按键是非常困难的。事件从子元素开始并向下冒泡到父控件,因此仅在根UIElement上处理KeyDown将不起作用。任何文本输入控件都会首先获取事件并压制它(通过在事件参数上设置Handled为true)。我认为,如果您使用DOM桥接并订阅浏览器KeyDown事件以针对Silverlight元素本身添加处理程序,您实际上可以首先获取它,并且甚至可以在任何Silverlight控件之前完全处理它。我认为这是拦截CTRL+V的最简单方法,但我还没有测试过。
原始答案
您应该使用System.Windows.Clipboard类。