powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Особенности фокуса
2 сообщений из 2, страница 1 из 1
Особенности фокуса
    #37204475
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Проблема следующая: есть класс унаследованный от ChildWindow, который обрабатывает нажатия клавиатуры. Например, по нажатию на Enter он закрывается с DialogResult равным True, и по нажатию на Escape с DialogResult равным False.
Если вызывать этот ChildWindow сразу по загрузке формы, то он нажатия клавиатуры не обрабатывает, пока вручную не кликнешь по нему. Если же он вызывается, например, по клику на кнопку, то фокус он имеет сразу же.

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

Почему так?
Как с этим бороться и надо ли?
Связано ли это с фокусом или с чем-то еще?
Если это известная проблема, есть ли у нее какое-то специфическое название?

Пример с ChildWindow прилагаю. Это дефолтный ChildWindow, генерируемый студией, но который реагирует на enter и escape. Сначала он вызывается при подгрузке главной страницы и фокуса не имеет и на нажатия не реагирует. Затем можно вызвать его же снова по нажатию на кнопку и он будет иметь фокус на Cancel и будет обрабатывать нажатия клавиатуры.
...
Рейтинг: 0 / 0
Особенности фокуса
    #37205890
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enigmatic,

авторПочему так?
Как с этим бороться и надо ли?
Связано ли это с фокусом или с чем-то еще?
Если это известная проблема, есть ли у нее какое-то специфическое название?
Потому что приложение не имеет фокуса при загрузке.
Надо. Устанавливать фокус вручную при загрузке.
Связано с отсутствием фокуса при загрузке приложения.
Гугл предлагает искать "silverlight focus on load".

Решение:
Код: plaintext
1.
2.
3.
4.
        void LoginScreen_Loaded(object sender, RoutedEventArgs e)
        {
            HtmlPage.Plugin.Focus(); 
        }

Почему приложение не имеет фокуса изначально - непонятно.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Особенности фокуса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]