Expander старая пуля все еще показывает - PullRequest
2 голосов
/ 02 апреля 2012

Я последовал примеру экспандера в wpf. Работает нормально, но старая пуля все еще показывает новую пулю. Код выглядит следующим образом:

<Expander Name="ExpanderControl"
   HorizontalAlignment="Left" Background="LavenderBlush"
   ExpandDirection="Down"  IsExpanded="False" Width="250"
      FontSize="20" FontWeight="Bold" Foreground="Green" >
<Expander.Header>
    <BulletDecorator>
        <BulletDecorator.Bullet>
            <Image Width="50" Source="Flowers.jpg"/>
        </BulletDecorator.Bullet>
        <TextBlock Margin="20,0,0,0">Flower Header</TextBlock>
    </BulletDecorator>
</Expander.Header>

<TextBlock TextWrapping="Wrap" FontSize="14" FontWeight="Light" Foreground="Black">
    This is an Expander control. Within this control, all contents will be wrapped.
    At run-time, you may expand or collapse this control. Type more text here to be           
    Jump around and hype.
</TextBlock>
</Expander>

Ответы [ 2 ]

2 голосов
/ 02 апреля 2012

ControlTemplate для элемента управления Expander определяет ToggleButton, содержимое которого является шаблоном, связанным со свойством Header.У этого ToggleButton также есть ControlTemplate, определенный таким образом, что есть 2 столбца: один для Ellipse (и стрелка, представленная как Path), и один для ContentPresenter (который содержит Header content).

Чтобы изменить это поведение, вам потребуется переопределить свойство Template для Expander.

0 голосов
/ 13 апреля 2012

Я нашел обходной путь.

<BulletDecorator.Bullet>
        <Image Width="50" Source="Flowers.jpg" Margin="-20,0,0,0"/>
</BulletDecorator.Bullet>

Поставьте поле -20 в соответствии с вашими потребностями, и оно покроет старую пулю. Я знаю, что это неправильный способ сделать это, но у меня это сработало.

...