在 WPF 应用程序上跟踪按键和按键释放
Track key press and key release on WPF applications
有没有办法跟踪 WPF 上的按键按下和释放操作?
这是我到目前为止尝试过的方法,但我发现 _upDownKeyIsPressed
仅在我按下另一个键时才设置为 false - 而不是在释放向上或向下键时
private void KeyUpPress(KeyEventArgs e)
{
if (e.Key == Key.Up || e.Key == Key.Down)
{
_upDownKeyIsPressed = true;
Console.WriteLine(_upDownKeyIsPressed.ToString());
}
}
private void KeyDownPress(KeyEventArgs e)
{
if (e.Key == Key.Up || e.Key == Key.Down)
{
_upDownKeyIsPressed = false;
Console.WriteLine(_upDownKeyIsPressed.ToString());
}
}
private void PlotListView_KeyUp(object sender, KeyEventArgs e)
{
KeyUpPress(e);
}
private void PlotListView_KeyDown(object sender, KeyEventArgs e)
{
KeyDownPress(e);
}
如果你想试试我评论里说的。我在想这样的事情:
private void PlotListView_KeyUp(object sender, KeyEventArgs e)
{
TrackUpDownKeyPress(e, false);
}
private void PlotListView_KeyDown(object sender, KeyEventArgs e)
{
TrackUpDownKeyPress(e, true);
}
private void TrackUpDownKeyPress(KeyEventArgs e, bool isPressed)
{
if (e.Key == Key.Up || e.Key == Key.Down)
_upDownKeyIsPressed = isPressed;
}
如果您想了解有关 keyUp 和 keyDown 之间区别的更多信息,请查看此 question。
有没有办法跟踪 WPF 上的按键按下和释放操作?
这是我到目前为止尝试过的方法,但我发现 _upDownKeyIsPressed
仅在我按下另一个键时才设置为 false - 而不是在释放向上或向下键时
private void KeyUpPress(KeyEventArgs e)
{
if (e.Key == Key.Up || e.Key == Key.Down)
{
_upDownKeyIsPressed = true;
Console.WriteLine(_upDownKeyIsPressed.ToString());
}
}
private void KeyDownPress(KeyEventArgs e)
{
if (e.Key == Key.Up || e.Key == Key.Down)
{
_upDownKeyIsPressed = false;
Console.WriteLine(_upDownKeyIsPressed.ToString());
}
}
private void PlotListView_KeyUp(object sender, KeyEventArgs e)
{
KeyUpPress(e);
}
private void PlotListView_KeyDown(object sender, KeyEventArgs e)
{
KeyDownPress(e);
}
如果你想试试我评论里说的。我在想这样的事情:
private void PlotListView_KeyUp(object sender, KeyEventArgs e)
{
TrackUpDownKeyPress(e, false);
}
private void PlotListView_KeyDown(object sender, KeyEventArgs e)
{
TrackUpDownKeyPress(e, true);
}
private void TrackUpDownKeyPress(KeyEventArgs e, bool isPressed)
{
if (e.Key == Key.Up || e.Key == Key.Down)
_upDownKeyIsPressed = isPressed;
}
如果您想了解有关 keyUp 和 keyDown 之间区别的更多信息,请查看此 question。