|
ButtonStyle
|
|||
---|---|---|---|
#18+
Создал стиль для кнопки. Примерно такого вида: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.
Почти все неплохо. Но, есть одна неприятность - если текст контента не слишком большой (например кнопка "ОК"), то большая часть поверхности кнопки не реагирует на мышку. Только та часть кнопки, где расположен текст контента "узнает" мышку и реагирует на нее. Если ширина кнопки определяется не как Auto, а например растягивается как соседние кнопки (выравнивание кнопок), то большая часть кнопки "мертвая" (не реагирует на мышь). Как побороть такую напасть? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2014, 07:36 |
|
ButtonStyle
|
|||
---|---|---|---|
#18+
Если я не ошибаюсь, когда Border.Background == transparent, он не реагирует на события мыши. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2014, 08:10 |
|
ButtonStyle
|
|||
---|---|---|---|
#18+
Так ведь у меня не установлен: Border.Background == transparent Мне как раз нужно чтобы вся кнопка реагировала на мышь. А сейчас реагирует только та часть, которая занята текстом. Остальная часть "мертвая". Я сначала не понял почему мне приходится много раз тыкать мышкой в кнопку "OK". В результате изучения вопроса выяснилось, что нужно попадать не просто в кнопку, а нужно в текст кнопки попасть. Это иногда напрягает. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2014, 09:27 |
|
ButtonStyle
|
|||
---|---|---|---|
#18+
ЧитательXТак ведь у меня не установлен: Border.Background == transparentОно у тебя привязано к свойству Background кнопки, которое по дефолту Transparent. Впрочем, можно попробовать упаковать весь шаблон в какую-нибудь панель, например, в Grid. Код: xml 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2014, 09:42 |
|
ButtonStyle
|
|||
---|---|---|---|
#18+
Насчет Background кнопки мысль понял. А вот паковать в грид: Код: c# 1. 2. 3. 4. 5. 6. 7.
уже пробовал - не помогло. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2014, 10:51 |
|
ButtonStyle
|
|||
---|---|---|---|
#18+
В триггере изменил SourceName: Код: c# 1.
И вся кнопка стала работать! Все OK ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2014, 11:15 |
|
ButtonStyle
|
|||
---|---|---|---|
#18+
ЧитательXВ триггере изменил SourceName: Код: c# 1.
И вся кнопка стала работать! Все OKСразу не обратил внимания, зачем там вообще SourceName? Чем не устраивает IsMouseOver самой кнопки? Рекомендую использовать IsHitTestVisible, как пишут в указанной выше ссылке. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2014, 11:20 |
|
ButtonStyle
|
|||
---|---|---|---|
#18+
1. default-поведение IsMouseOver самой кнопки выглядит не очень хорошо. При наезде мышки на кнопку, последняя становится просто белой. Поэтому и пришлось лепить свой стиль на IsMouseOver на IsEnabled. 2. Я попробовал поманипулировать свойством IsHitTestVisible. Оно просто отключает реакцию кнопки и IsMouseOver никак не проявляет себя. Похоже мне это совсем не нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2014, 12:39 |
|
|
start [/forum/topic.php?fid=21&msg=38621045&tid=1441139]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
129ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 235ms |
0 / 0 |