Как изменить текст заголовка расширителя WPF, если он развернут или свернут? - PullRequest
10 голосов
/ 09 апреля 2010

Используя расширитель WPF, я хочу, чтобы заголовок изменился с См. Больше на См. Меньше при расширении элемента управления и обратно на См. * это снова рухнуло. Я бы предпочел чистое решение WPF, а не C # или другой метод кода. Я чувствую, что это должно быть легко, но я борюсь за правильные условия, чтобы найти решение через Google.

Спасибо!

Ответы [ 2 ]

21 голосов
/ 09 апреля 2010

Вы, вероятно, могли бы сделать это в триггере стиля:

<Expander>
    <Expander.Style>
        <Style TargetType="Expander">
            <Setter Property="IsExpanded" Value="False" />
            <Setter Property="Header" Value="See More" />

            <Style.Triggers>
                <DataTrigger Binding="{Binding IsExpanded,RelativeSource={RelativeSource Self}}" Value="True">
                    <Setter Property="Header" Value="See Less" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Expander.Style>
</Expander>

Это не проверено, но это должно дать вам что-то, что можно продолжить.

4 голосов
/ 08 июля 2015

Старый (я знаю), но это можно сделать с помощью двух простых Trigger без привязки:

<Expander>
    <Expander.Style>
        <Style TargetType="Expander" >
            <Style.Triggers>
                <Trigger Property="IsExpanded" Value="True">
                    <Setter Property="Header" Value="See Less" />
                </Trigger>
                <Trigger Property="IsExpanded" Value="False">
                    <Setter Property="Header" Value="See More" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </Expander.Style>
</Expander>
...