我在wpf中跟随了一个扩展器示例。工作正常,但旧的子弹仍然显示besise新的子弹。代码如下:
<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 :(得分:2)
ControlTemplate
控件的Expander
定义ToggleButton
,其内容是绑定到Header
属性的模板。此ToggleButton
也定义了ControlTemplate
,其中有两列:一列用于Ellipse
(箭头表示为Path
),另一列用于ContentPresenter
Header
(托管Template
内容)。
要更改此行为,您需要重新定义Expander
上的{{1}}属性。
答案 1 :(得分:0)
我找到了一个解决方案。
<BulletDecorator.Bullet>
<Image Width="50" Source="Flowers.jpg" Margin="-20,0,0,0"/>
</BulletDecorator.Bullet>
根据您的需要设置-20的边距,它将覆盖旧的子弹。我知道这不是正确的做法,但它对我有用。