Как правильно расположить Expander ToggleButton - PullRequest
8 голосов
/ 15 февраля 2012

По умолчанию у экспандера есть выровненная по левому краю кнопка переключения, но в моем приложении WPF я хочу переключать кнопки в правой части заголовка без помощи Expression Blend.просто обычный XAML и / или C #.Мой расширитель содержит вертикально ориентированную стековую панель с дочерними метками.

Я пошел со своей стороны, но здесь он говорит: «Элемент управления Expander не имеет именованных частей».

Я нашел пример здесь .Но он переопределяет стиль Expander по умолчанию.

Я думаю, что прикрепленное изображение должно передать то, что я хочу.Как сделать.Любая ссылка будет полезна.

enter image description here

Ответы [ 2 ]

15 голосов
/ 25 июля 2013

Есть хитрость, которая может помочь

<Expander Header="My Expander" 
          FlowDirection="RightToLeft">
    <Expander.HeaderTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding RelativeSource={RelativeSource AncestorType=Expander}, Path=Header}"
                       Width="{Binding RelativeSource={RelativeSource AncestorType=Expander}, Path=ActualWidth}" 
                       Margin="-30,0,0,0"
                       FlowDirection="LeftToRight">
            </TextBlock>
        </DataTemplate>
    </Expander.HeaderTemplate>
</Expander>
9 голосов
/ 15 февраля 2012

Используйте это:

<Expander Header="Expander1" FlowDirection="RightToLeft">
    <TextBlock FlowDirection="LeftToRight">
    </TextBlock>
</Expander>

Добавьте ваш контент в TextBlock, если вы не хотите, чтобы весь контент был справа налево.

...