c# – 如何通过箭头键禁用焦点更改

前端之家收集整理的这篇文章主要介绍了c# – 如何通过箭头键禁用焦点更改前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个带有几个控件(按钮,组框等)的 WPF窗口和一个边框内的一个大Viewport3D.

视口显示3D场景,我希望箭头键移动其相机.问题:箭头键总是将焦点更改为另一个UIElement.

如何通过箭头键禁用焦点更改并让它们改变相机位置?

解决方法

没有一些代码来实际测试总是难以回答,因为没有它,我们只是在猜测.无论哪种方式,我都无法对您的特定情况发表评论,但总的来说,如果我们想要在事件中停止某些预定义的操作,那么我们通常会处理该事件并将e.Handled属性设置为true.

看到您已经想要处理KeyDown事件以检测箭头键的使用,那么您可以同时将e.Handled属性设置为true.但是,您应该处理PreviewKeyDown事件,因为它发生在KeyDown事件之前,因此更有可能产生您想要的效果.尝试这样的事情:

private void TextBox_PreviewKeyDown(object sender,KeyEventArgs e)
{
    if (e.Key == Key.Left || e.Key == Key.Right)
    {
        // Move your camera here
        e.Handled = true;
    }
}

猜你在找的C#相关文章