检测窗口UWP内的箭头键

时间:2016-06-22 13:28:30

标签: c# windows uwp keyboard

我正在使用UWP制作应用程序,我需要一种方法来检测箭头键。

我知道存在其他方法,例如使用“Window.Current.CoreWindow.CharacterReceived”,但是这个方法没有检测到箭头键。有些帮忙吗?

由于

1 个答案:

答案 0 :(得分:1)

解决方案取决于视图及其包含的UI控件。

基本上,UI ControlKeyDownKeyUp个事件,您可以订阅并控制键盘上按下/释放的键。

您需要跟踪视图上的焦点对象,具体取决于具有它的对象,可能不会调用事件处理程序:

  

默认情况下,会给出可视树中的第一个可聚焦元素   由系统专注。单个控件在用户时获得焦点   在布局中直接点击或点击该控件,或使用Tab   键入内容区域中的选项卡序列的键。你也可以   通过调用Control.Focus以编程方式进行焦点控制。

因此,例如注册到Window的KeyDown事件:

<强>的Xaml

<Window x:Class="WpfApplication25.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525"
    KeyDown="Window_KeyDown">
</Window>

<强> CS

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }

    private void Window_KeyDown(object sender, KeyEventArgs e)
    {
        // ... Test for F5 key.
        if (e.Key == Key.F5)
        {
        this.Title = "You pressed F5";
        }
    }
}