我正在使用UWP制作应用程序,我需要一种方法来检测箭头键。
我知道存在其他方法,例如使用“Window.Current.CoreWindow.CharacterReceived”,但是这个方法没有检测到箭头键。有些帮忙吗?
由于
答案 0 :(得分:1)
解决方案取决于视图及其包含的UI控件。
基本上,UI Control有KeyDown和KeyUp个事件,您可以订阅并控制键盘上按下/释放的键。
您需要跟踪视图上的焦点对象,具体取决于具有它的对象,可能不会调用事件处理程序:
默认情况下,会给出可视树中的第一个可聚焦元素 由系统专注。单个控件在用户时获得焦点 在布局中直接点击或点击该控件,或使用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";
}
}
}