0

我在 WPF 中使用 UrhoSurface 控件。它包含在 NuGet 包“UrhoSharp.Wpf”中。一切正常,但是当使用任一鼠标按钮单击 UrhoSurface 时,它​​会停止从键盘获取输入。将 Focusable 设置为 false 没有帮助。这是我用来获取输入的代码:

using Urho;

if (Input.GetKeyDown(Key.W))
    CameraNode.Translate(Vector3.UnitZ * moveSpeed * timeStep);
if (Input.GetKeyDown(Key.S))
    CameraNode.Translate(-Vector3.UnitZ * moveSpeed * timeStep);
if (Input.GetKeyDown(Key.A))
    CameraNode.Translate(-Vector3.UnitX * moveSpeed * timeStep);
if (Input.GetKeyDown(Key.D))
    CameraNode.Translate(Vector3.UnitX * moveSpeed * timeStep);

我对 WPF 相当陌生。

4

1 回答 1

1

我知道您已经很久没有问过了,但是如果您或其他人仍然需要它:您可以使用 c# 方法来检查一个键是否已关闭并且它是否有效:

if (System.Windows.Input.Keyboard.IsKeyDown(System.Windows.Input.Key.W)) { ... }
于 2017-12-07T08:18:16.047 回答