禁用wpf中的退格键

8 wpf

我在WPF应用程序中工作,使用C#.net我想知道,有没有办法Backspace在特定的xaml页面上禁用按钮.我想阻止用户使用Backspace此特定xaml页面上的按钮.即使用户按下Backspace按钮,也不会产生任何效果.

谢谢

Ed *_*sen 26

如果要阻止退格返回WPF框架中的导航历史记录,包括特殊的"后退"硬件按钮,请使用:

NavigationCommands.BrowseBack.InputGestures.Clear();
NavigationCommands.BrowseForward.InputGestures.Clear();
Run Code Online (Sandbox Code Playgroud)

  • 好了想出来 - 把它放在`NavigationWindow`构造函数中. (2认同)

sip*_*wiz 6

您需要捕获onKeyDown事件并将handle设置为true以用于退格.

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

  • 这实际上应该处理PreviewKeyDown事件,否则如果另一个控件具有焦点(如TextBox),则按下键不会被截获.由于他没有说明他为什么要禁用退格键,也许他想在入口控件中支持它. (2认同)