C# Windows应用商店应用程序列表框的PreviewKeyDown

C# Windows应用商店应用程序列表框的PreviewKeyDown,c#,windows-8,listbox,windows-store-apps,winrt-xaml,C#,Windows 8,Listbox,Windows Store Apps,Winrt Xaml,对于Windows应用商店应用程序,是否有与PreviewKeyDown等效的版本?它不可用 我的问题和你的完全一样 我有一个列表框,上面有一个文本框。我想使用箭头键从列表框导航到文本框。这样做的目的是,如果选择了列表框中的第一项,并且用户向上键,文本框将获得焦点 啊,狡猾。处理关键事件并不十分明显。以下是您想要的: public MainPage() { this.InitializeComponent(); Window.Current.CoreWindow.Dispatch

对于Windows应用商店应用程序,是否有与
PreviewKeyDown
等效的版本?它不可用

我的问题和你的完全一样

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


啊,狡猾。处理关键事件并不十分明显。以下是您想要的:

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();
}

祝你好运

应该注意的是,这不是一个重复的问题,因为上面的链接问题是针对WPF的。WPF问题也有同样的问题,关键范围!标记正确的答案是礼貌的。这真的很好。但无论哪个控件处于焦点,每次按下一个键都会触发AcceleratoryActivated事件。如何检查列表是否处于焦点?我提出了一个新问题: