PreviewKeyDown为Windows商店应用程序列表框

本文关键字:应用程序 列表 Windows PreviewKeyDown | 更新日期: 2023-09-27 18:14:31

是否有与Windows Store应用程序等效的PreviewKeyDown ?

我遇到了和这里描述的完全相同的问题:

我有一个列表框上面有一个文本框。我想使用箭头键从列表框导航到文本框。这样做的目的是,如果ListBox中的第一个项目被选中,并且用户按向上键,则TextBox将获得焦点。

PreviewKeyDown为Windows商店应用程序列表框

啊,真狡猾。处理关键事件并不是非常明显的。这是你想要的:

public MainPage()
{
    this.InitializeComponent();
    Window.Current.CoreWindow.Dispatcher.AcceleratorKeyActivated += (s, args) =>
    {
        if ((args.EventType == CoreAcceleratorKeyEventType.SystemKeyDown 
            || args.EventType == CoreAcceleratorKeyEventType.KeyDown)
            && (args.VirtualKey == VirtualKey.Up))
        {
            MoveUp();
        }
        else if ((args.EventType == CoreAcceleratorKeyEventType.SystemKeyDown 
            || args.EventType == CoreAcceleratorKeyEventType.KeyDown)
            && (args.VirtualKey == VirtualKey.Down))
        {
            MoveDown();
        }
    };
}
private void MoveUp()
{
    // this part is up to you
    throw new NotImplementedException();
}
private void MoveDown()
{
    // this part is up to you
    throw new NotImplementedException();
}
祝你好运!