Как изменить значок кнопки управления расширителем на «+» и «-» вместо стрелки - PullRequest
2 голосов
/ 05 декабря 2011

Я хочу изменить значок значка кнопки управления на расширителе на «+» и «-» вместо стрелки ... Я попытался сделать то же самое с Blend ... Но я не могу этого сделать. Может ли кто-нибудь помочь в достижении этого ...

1 Ответ

2 голосов
/ 05 декабря 2011

Вам нужно будет отредактировать шаблоны на несколько слоев глубиной.

1) В Blend выберите Expander> Изменить шаблон> Редактировать копию

Это создаст стиль Expander, но откроет «Шаблон Expander» внутри стиля.

2) Откройте DockPanel и найдите кнопку-переключатель «HeaderSite». Снова выберите «Редактировать шаблон»> «Редактировать копию».

Это создаст стиль ToggleButton и откроет «Шаблон ToggleButton» для редактирования.

3) Откройте Сетка внутри Границы и найдите пути «стрелка» и «круг». Вам нужно будет заменить их на желаемую графику.

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

РЕДАКТИРОВАТЬ: свойство HeaderSite ToggleButton IsChecked в шаблоне Expander управляет движением стрелки. Его значение является шаблоном, связанным со свойством IsExpanded родительского объекта. Стиль ToggleButton имеет триггер ControlTemplate, который переопределяет свойство Data стрелки Path, когда IsChecked имеет значение True.

Если вы замените свойство стрелки, как вы хотите, вам придется заменить эту функцию. Я все еще думаю, что визуальные состояния предпочтительнее триггера ControlTemplate.

...