C# — полоса контекстного меню имеет поведение прокрутки, когда пользователь нажимает клавиши со стрелками

StackOverflow https://stackoverflow.com/questions/858882

  •  21-08-2019
  •  | 
  •  

Вопрос

У меня есть полоска контекстного меню с 8 пунктами и двумя разделителями.Когда пользователь вызывает полосу контекстного меню, а затем нажимает клавишу со стрелкой для прокрутки элементов, нажатие восьмого элемента приводит к «прокрутке» меню вверх, оставляя пустое пространство внизу.Есть ли способ предотвратить такое поведение?

Это было полезно?

Решение

Я нашел это.Оказывается, если у вас в меню есть пункты, которых не видно, то это винты с пробелами.Исправление заключалось в изменении логики, позволяющей фактически удалять/добавлять элементы или перестраивать меню, а не переключать видимость элементов меню.Это один из случаев, когда переключение «Видимый» имело странное поведение.

Другие советы

Я разместил это как ответ, потому что хотел добавить изображения к публикации.Я наблюдаю такое же поведение и думаю, что это недостаток самого раскрывающегося контекстного меню.

Вот что происходит:

BEFORE
(источник: googlepages.com)
AFTER
(источник: googlepages.com)

Это происходит только тогда, когда пользователь переходит в контекстное меню с помощью клавиатуры.Это как если бы он пытался выполнить какую-то прокрутку, потому что, если вы продолжите движение вниз по списку, выбор сбрасывается вверху.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top