2012-04-02 6 views
2

나는 wpf에서 확장기의 예를 따랐다. 잘 작동하지만 오래 된 총알은 여전히 ​​새 탄약을 덮고 있습니다. 다음과 같이 코드는 다음과 같습니다Expander old bullet 여전히 표시

<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> 

답변

0

나는 그것을 발견했다.

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

필요에 따라 -20의 여백을 넣으면 이전 글 머리 기호를 덮을 것입니다. 나는 그것을하기위한 올바른 방법이 아니라는 것을 알고 있지만 그것은 나를 위해 일했습니다.

2

Expander 컨트롤의 ControlTemplate을 정의 그 함유량 Header 속성에 바인딩 템플릿입니다 ToggleButton. 이 ToggleButton은 또한 (및 화살표는 Path으로 표시됨)의 하나와 ContentPresenter (Header 내용을 호스트하는)의 두 열이있는 방식으로 정의 된 ControlTemplate을가집니다.

이 동작을 변경하려면 Expander에서 Template 속성을 다시 정의해야합니다.