2010-06-15 3 views
3

Диалог «Найти и заменить» в Visual Studio - прекрасный пример того, что я пытаюсь выполнить. Обратите внимание, что текстовое поле «Найти что» имеет фокус клавиатуры, но кнопка «Найти дальше» выглядит синеватой, как если бы она имела фокус клавиатуры, даже если это не так.Сделать кнопку, отображаемую в фокусе, когда нет

alt text http://www.study.en0de.com/focusbutton.jpg

Как я могу сделать это сам? Я пробовал общаться с FocusManager и Focus Scopes без большой удачи. Я подозреваю, что я могу лаять неправильное дерево? Любые советы приветствуются!

Благодаря

ответ

0

Я думаю, что вам нужно изменить шаблон элемента управления кнопки. Проверьте шаблон по умолчанию для кнопок. Вы должны найти соответствующий стиль, когда кнопка имеет фокус. Затем измените его так, что даже если нет фокуса, стиль все еще применяется.

0

Один из способов, которым вы могли бы это сделать, - поместить прямоугольник над кнопкой, отключить его тестирование на удар и дать ему кисть для создания желаемого эффекта выделения. В основном вы указываете, что кнопка является выбором по умолчанию, если вы нажмете Enter, что, на мой взгляд, не совпадает с кнопкой, имеющей фокус.

3

Я только что понял, что мне нужно было установить IsDefault = «True» для кнопки. Duh!

+0

Это событие будет выполнено после нажатия кнопки «Найти дальше», если вы нажмете enter. Это то, чего вы хотите достичь? – jfs

Смежные вопросы