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

发布于 2024-09-04 01:22:24 字数 113 浏览 8 评论 0原文

在 Silverlight 中检测 Ctrl+V 的最佳方法是什么?

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

What is the best way to detect Ctrl+V in Silverlight?

I want to detect Ctrl+V, to get access to the Clipboard.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

我早已燃尽 2024-09-11 01:22:24
if (e.Key == Key.V)
{
    if ((Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
    {
        //do what you want on paste
    }
}

您必须在 keyUp 事件上使用它。更多详细信息可以在这里找到: http://msdn .microsoft.com/en-us/library/cc189015%28VS.95%29.aspx

if (e.Key == Key.V)
{
    if ((Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
    {
        //do what you want on paste
    }
}

You have to use this on the keyUp event. More details can be found here: http://msdn.microsoft.com/en-us/library/cc189015%28VS.95%29.aspx

你是我的挚爱i 2024-09-11 01:22:24

编辑

要在 silverlight 应用程序中全局捕获 CTRL+V 按键充满了困难。事件从子元素开始并向下传递到父控件,因此仅在根 UIElement 上处理 KeyDown 是行不通的。任何文本输入控件都会首先获取事件并抑制它(通过在事件参数上将 Handled 设置为 true。)我认为,如果您使用 DOM 桥并为 silverlight 元素本身订阅浏览器 KeyDown 事件的处理程序,您可能会实际上能够首先到达它,甚至在任何 silverlight 控件之前完全处理它。我认为这是拦截 CTRL+V 最简单的方法,但我还没有测试过。

原始答案

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

  • GetText,从以下位置检索文本
    剪贴板
  • SetText,其中放置
    剪贴板上的文本
  • 包含文本,
    指示是否剪贴板
    当前包含文本

EDIT

To capture the CTRL+V keypress globally in your silverlight application, is fraught with difficulty. Events start at the child elements and bubble down to the parent controls, so simply handling KeyDown on your root UIElement will not work. Any text input control will first get the event and smother it (by setting Handled to true on the event args.) I think that if you use the DOM bridge and subscribe a handler to the browser KeyDown event for the silverlight element itself that you may actually be able to get to it first, and even handle it completely before any silverlight controls can. I think that would be the easiest way to intercept CTRL+V, but I have not tested it.

Original Answer

You should use the System.Windows.Clipboard class.

  • GetText, which retrieves text from
    the clipboard
  • SetText, which places
    text on the clipboard
  • ContainsText,
    which indicates whether the clipboard
    currently contains text
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文