Найдено результатов: 2

CSS Выпадающем Меню - "Best"? Самый многофункциональный?

Я нахожусь в неудачном положении, когда мне приходится реализовывать выпадающее каскадное меню на сайте, который я создаю. Я ищу решение в стиле Suckerfish, которое в основном основано на CSS и работает на простом наборе вложенных ULs и LIs.

Son of Suckerfish кажется, что это путь, но мне не нравится, как он просто исчезает в ту же секунду, когда вы убираете мышь, так как пользователи с трудностями координации будут иметь кошмар навигации по сайту (или просто не беспокоить, но поскольку это корпоративный сайт, есть некоторые, кто, вероятно, придется использовать все, что я реализую).

Аккуратные функции, о которых я даже не думал, приветствуются, но два основных элемента, которые я ищу, - это:

  1. Многоуровневое использование вложенной структуры UL / LI
  2. Маленький (возможно, настраиваемый?) задержка перед исчезновением, когда меню "mouseout"-ed, даже если это предусмотрено некоторым дополнительным JavaScript.

css   navigation   suckerfish    

446   9   15:30, 27th August, 2020


Когда инициализируется NavigationService?

Я хочу поймать событие NavigationService.Navigating с моей страницы, чтобы предотвратить переход пользователя вперед. У меня есть обработчик событий, определенный таким образом:

void PreventForwardNavigation(object sender, NavigatingCancelEventArgs e)
{
    if (e.NavigationMode == NavigationMode.Forward)
    {
        e.Cancel = true;
    }
}
...

и это прекрасно работает. Однако я не уверен, где именно разместить этот код:

NavigationService.Navigating += PreventForwardNavigation;

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

Могу ли я добавить один и тот же обработчик к событию несколько раз (как это произошло бы, если бы я использовал загруженное событие страницы для его подключения)? Если нет, то есть ли какое-то место между инициализацией и загрузкой, где я могу сделать эту проводку?

.net   wpf   navigation    

432   2   19:48, 20th August, 2020