我可以禁用特定控件的键盘输入吗?

Mac*_*iek 4 c# wpf keyboard-events

是否可以禁用控件的键盘输入?比如一个ListView?我怎么做?我试过压倒KeyUp KeyDown事件,但显然不是这样的?

IsEnabled 是一个很好的解决方案,但我只希望禁用键盘交互并保持鼠标交互不变.

Joh*_*zek 13

处理KeyDown事件为时已晚,但您可以处理PreviewKeyDown事件,并且应该为您提供所需的行为:

private void MyListBox_PreviewKeyDown(object sender, KeyEventArgs e)
{
   e.Handled = true;
}
Run Code Online (Sandbox Code Playgroud)


Nas*_*loo 5

亲爱的maciek,您唯一需要做的事情就是使用OnKeyDown事件

private void txtInput_KeyDown(object sender, KeyEventArgs e)
    {
            e.Handled = true; // user can input
            e.Handled = false; // user cannot input
    }
Run Code Online (Sandbox Code Playgroud)