C# 如何在列表框中禁用按键导航,但保持检测按键事件?
我正在尝试禁用C# 如何在列表框中禁用按键导航,但保持检测按键事件?,c#,wpf,listbox,keypress,routed-events,C#,Wpf,Listbox,Keypress,Routed Events,我正在尝试禁用列表框中的键导航。我可以使用下面的代码成功完成此操作: private void listClips_PreviewKeyDown(object sender, KeyEventArgs e) { e.Handled = true; } 但是我想为我的程序添加一个快捷键。当我设置e.Handled=true时,它不起作用 private void listClips_KeyDown(object sender, KeyEventArgs e) { MessageB
列表框中的键导航。我可以使用下面的代码成功完成此操作:
private void listClips_PreviewKeyDown(object sender, KeyEventArgs e)
{
e.Handled = true;
}
但是我想为我的程序添加一个快捷键。当我设置e.Handled=true
时,它不起作用
private void listClips_KeyDown(object sender, KeyEventArgs e)
{
MessageBox.Show("Key Pressed " + e.Key);
}
如何保持这两个功能?您不能将逻辑移到PreviewKeyDown
处理程序吗
private void listClips_PreviewKeyDown(object sender, KeyEventArgs e)
{
//custom logic...
MessageBox.Show("Key Pressed " + e.Key);
e.Handled = true;
}
处理您想要的任何快捷方式,并始终在之后将Handled
属性设置为true
。您需要的是来自此线程的解决方案:谢谢,但我无法让它工作。它一直在列表框中导航