【发布时间】:2014-12-14 17:52:10
【问题描述】:
我正在尝试侦听 C# 应用程序上按下的箭头键。
我在 XAML 文件的 C# 文件中添加了以下方法来侦听被按下的箭头键并报告每一个:
private void Grid_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Left)
{
Console.WriteLine("left");
}
if (e.Key == Key.Right)
{
Console.WriteLine("Right");
}
if (e.Key == Key.Up)
{
Console.WriteLine("Up");
}
if (e.Key == Key.Down)
{
Console.WriteLine("Down");
}
}
在相应的 XAML 中,Grid 元素的开头如下:
<Grid Background="Black" MouseWheel="Grid_MouseWheel"
MouseDown="Grid_MouseDown" MouseUp="Grid_MouseUp"
MouseMove="Grid_MouseMove" KeyDown="Grid_KeyDown">
目前,与鼠标相关的侦听器正在运行,但键盘侦听器 (KeyDown="Grid_KeyDown") 没有。我是否需要添加其他内容才能完成这项工作?
【问题讨论】:
-
我想知道
Console窗口是如何出现在WpfApplication中的?除非您正在运行控制台应用程序并尝试显示 Wpf 窗口,否则看起来这就是问题所在。如果是测试,请尝试使用System.Diagnostics.Debug.Print而不是Console.WriteLine。 -
King,两种打印到调试/控制台的方法似乎产生了相同的结果,但写入 debug.print 可能更有意义。