C# — полоса контекстного меню имеет поведение прокрутки, когда пользователь нажимает клавиши со стрелками
-
21-08-2019 - |
Вопрос
У меня есть полоска контекстного меню с 8 пунктами и двумя разделителями.Когда пользователь вызывает полосу контекстного меню, а затем нажимает клавишу со стрелкой для прокрутки элементов, нажатие восьмого элемента приводит к «прокрутке» меню вверх, оставляя пустое пространство внизу.Есть ли способ предотвратить такое поведение?
Решение
Я нашел это.Оказывается, если у вас в меню есть пункты, которых не видно, то это винты с пробелами.Исправление заключалось в изменении логики, позволяющей фактически удалять/добавлять элементы или перестраивать меню, а не переключать видимость элементов меню.Это один из случаев, когда переключение «Видимый» имело странное поведение.
Другие советы
Я разместил это как ответ, потому что хотел добавить изображения к публикации.Я наблюдаю такое же поведение и думаю, что это недостаток самого раскрывающегося контекстного меню.
Вот что происходит:
(источник: googlepages.com)
(источник: googlepages.com)
Это происходит только тогда, когда пользователь переходит в контекстное меню с помощью клавиатуры.Это как если бы он пытался выполнить какую-то прокрутку, потому что, если вы продолжите движение вниз по списку, выбор сбрасывается вверху.