|
Задание другого цвета фона для ListBoxItem
|
|||
---|---|---|---|
#18+
задался целью изменить цвет выделения в ListBox`е. Задал стиль Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Foreground меняется, а Background ни в какую. Покопался выяснил, что самы надежный способ изменить поведение это заменить шаблон ControlTemplate для ListBoxItem. Но когда стал рассматривать шаблон по умолчанию, то увидел, что в нем уже обрабатывается триггер на изменение свойтва IsSelected. Вот кусок Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Как видно здесь тоже задаются и Background и Foreground, тем не менее в первом стиле изменяется только Foreground, а Background первым способом изменить не получиться никак. Почему ? Чем таким особенным является Background ? У других элементов Background, как правило, меняется без проблем в триггере стиля. Нашел еще один способ изменить цвет выделения: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Я так понял что здесь просто перекрыт глобальный ресурс локальным ? Еще вопрос: в триггере ControlTemplate указываются свойства таким способом "Selector.IsSelected" или "Panel.Background". А почему они задаются именно так ? Ведь Selector и Panel абстрактные классы. Что эти записи означают ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2011, 00:07 |
|
|
start [/forum/search_topic.php?author=happyserge&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
others: | 761ms |
total: | 885ms |
0 / 0 |