Почему XYFocusKeyboardNavigation не работает? - PullRequest
0 голосов
/ 24 января 2020

Я хочу запретить обработку событий onKeyDown для стрелок на клавиатуре в элементе управления CommandBar.

Я отключил XYFocusKeyboardNavigation, но он не работает - я все еще могу перемещаться между кнопками, используя «Влево» / «Вправо» " стрелы. Почему это так?

<CommandBar XYFocusKeyboardNavigation="Disabled">
        <AppBarButton Label="menu">
            <AppBarButton.Icon>
                <BitmapIcon UriSource="/Help/home.png"/>
            </AppBarButton.Icon>
        </AppBarButton>
        <AppBarButton x:Name="hideLeavesButton" Label="hide leaves" Click="HideLeavesButton_Click">
            <AppBarButton.Icon>
                <BitmapIcon UriSource="/Help/hideLeaves.png"/>
            </AppBarButton.Icon>
        </AppBarButton>
</CommandBar>

Ответы [ 2 ]

1 голос
/ 27 января 2020

Это похоже на ошибку, у меня просто та же проблема. Другой простой способ - просто установить IsTabStop="false" для каждой кнопки. К сожалению, для сложного интерфейса это оказывается намного сложнее, чем должно

0 голосов
/ 27 января 2020

Почему XYFocusKeyboardNavigation не работает?

Это выглядит как ошибка, и я сообщу об этом, в настоящее время у нас есть обходной путь, который предотвращает обработку событий onKeyDown для стрелок клавиатуры. За подробностями обращайтесь к следующему.

Window.Current.Content.PreviewKeyDown += Content_PreviewKeyDown;
private void Content_PreviewKeyDown(object sender, KeyRoutedEventArgs e)
{

    if (e.Key == VirtualKey.Left | e.Key == VirtualKey.Right | e.Key == VirtualKey.Up | e.Key == VirtualKey.Down)
    {
        e.Handled = true;
    }
    else
    {
        e.Handled = false;

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...