Windows Store App ListBox的PreviewKeyDown

Joh*_*ann 5 c# listbox windows-8 winrt-xaml windows-store-apps

PreviewKeyDown对于Windows应用商店应用程序是否有相同的功能?它不可用.

我有与此处描述的完全相同的问题:

我有一个ListBox,上面有一个TextBox.我想使用箭头键从ListBox导航到TextBox.目的是如果选择ListBox中的第一个项目,并且用户键入,则TextBox将获得焦点.

Jer*_*xon 8

啊,很棘手.处理关键事件并不是非常明显.这是你想要的:

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();
}
Run Code Online (Sandbox Code Playgroud)

祝你好运!