【问题标题】:How to catch the "Delete" keyboard event in InkCanvas, WPF?如何在 InkCanvas、WPF 中捕捉“删除”键盘事件?
【发布时间】:2012-03-09 11:45:07
【问题描述】:

我的应用程序中有一个 InkCanvas 控件。 InkCanvas 中有两个元素(A 和 B)。而我想通过键盘“Delete”来删除A元素。

在处理中,我想使用InkCanvas.KeyDown事件来捕捉“Delete”键盘事件,但是没有成功。

如何才能赶上活动?

我在 InkCanvas 中注册的方法如下:

private void DkpCanvasKeyDown(object sender, KeyEventArgs e)
{
    if(e.Key==Key.Delete)
    {
        //Do method processing
    }
}

【问题讨论】:

    标签: c# wpf events keyboard inkcanvas


    【解决方案1】:

    如果bubbling routed event 在这种情况下在内部处理,您通常可以使用tunneling 版本,即PreviewKeyDown。或者,您可能可以将KeyBinding 添加到InkCanvas.InputBindings

    【讨论】:

    • 根据我的经验,PreviewKeyDown 也不会在 InkCanvas 控件上触发。我还尝试在包含组件(在我的情况下为Grid)上捕获路由事件,但这也不会触发。
    • 但它会触发 InkCanvas 的父母
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-15
    • 1970-01-01
    • 1970-01-01
    • 2021-12-10
    • 2011-11-30
    相关资源
    最近更新 更多