Установить фокус в текстовом поле WPF - PullRequest
0 голосов
/ 03 марта 2009

Я пишу элемент управления в WPF, который рисует фигуру на форме, а затем рисует размеры этой фигуры. Эти размеры доступны для редактирования, поэтому они отображаются в текстовом поле. Когда пользователь изменяет размер в текстовом поле, форма обновляется.

Я обновляю форму, когда текстовое поле с размером теряет фокус, т. Е. Как только текстовое поле теряет фокус, форма и все размеры перерисовываются. Текстовое поле теряет фокус одним из двух способов - либо когда пользователь нажимает клавишу табуляции, либо когда пользователь щелкает другой элемент управления вне текстового поля.

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

Изображение моего контроля показано ниже

альтернативный текст http://img223.imageshack.us/img223/9496/cavity.png

1 Ответ

1 голос
/ 03 марта 2009

Похоже, что вы хотите сами управлять порядком вкладок в этом окне, и для этого я думаю, что вы подпишетесь на события GotKeyboardFocus и LostKeyboardFocus в этих полях редактирования, а затем перенесете фокус в нужное место, если вы ' не в восторге от того, куда направлен фокус.

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