按键事件不会被方向键激活
Key Event doesn't actives by arrow keys
首先我正在使用 WPF,我是新手。
我在 xaml 中的内容控件中添加了一个 KeyDownEvent:
<ContentControl Grid.Row="1" Name="dockingContentControl" KeyDown="dockingContentControl_KeyDown"/>
我知道,可能有更好的方法来添加 KeyDown 事件。
(也有帮助)
但该活动正在运作。所以我使用了一个简单的 Console.WriteLine
命令,如下所示:
private void dockingContentControl_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
{
Console.WriteLine(e.Key);
}
它显示了我按下的按钮。
但不知何故它没有用箭头键触发。
我不知道为什么所有其他(我想所有,但没有测试所有)按钮都可以工作,但箭头键不能。
我是不是漏掉了什么,还是必须添加一些额外的代码。
命令: 除 fn
按钮外,所有其他按钮均被识别。
背景图表在动,难道是图表有焦点没有"forward"输入?
这取决于您在 ContentControl 中放置了哪些控件以及哪些控件具有焦点。 TAB、RETURN、ESC 和箭头键等某些键通常会被某些控件忽略,因为它们不被视为输入按键。箭头键被视为导航键,按下这些键通常不会引发 KeyDown(以 Button 为例)
对于这种情况,您可以尝试使用 PreviewKeyDown-Event。
如果我在最小解决方案中使用您提供的代码,我会收到所有键的 KeyDown-Events,但要求 ContentControl 具有焦点。
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
dockingContentControl.Focus();
}
private void dockingContentControl_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
{
Console.WriteLine(e.Key);
}
}
首先我正在使用 WPF,我是新手。
我在 xaml 中的内容控件中添加了一个 KeyDownEvent:
<ContentControl Grid.Row="1" Name="dockingContentControl" KeyDown="dockingContentControl_KeyDown"/>
我知道,可能有更好的方法来添加 KeyDown 事件。 (也有帮助)
但该活动正在运作。所以我使用了一个简单的 Console.WriteLine
命令,如下所示:
private void dockingContentControl_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
{
Console.WriteLine(e.Key);
}
它显示了我按下的按钮。
但不知何故它没有用箭头键触发。
我不知道为什么所有其他(我想所有,但没有测试所有)按钮都可以工作,但箭头键不能。
我是不是漏掉了什么,还是必须添加一些额外的代码。
命令: 除 fn
按钮外,所有其他按钮均被识别。
背景图表在动,难道是图表有焦点没有"forward"输入?
这取决于您在 ContentControl 中放置了哪些控件以及哪些控件具有焦点。 TAB、RETURN、ESC 和箭头键等某些键通常会被某些控件忽略,因为它们不被视为输入按键。箭头键被视为导航键,按下这些键通常不会引发 KeyDown(以 Button 为例)
对于这种情况,您可以尝试使用 PreviewKeyDown-Event。
如果我在最小解决方案中使用您提供的代码,我会收到所有键的 KeyDown-Events,但要求 ContentControl 具有焦点。
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
dockingContentControl.Focus();
}
private void dockingContentControl_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
{
Console.WriteLine(e.Key);
}
}