【发布时间】:2011-07-29 15:56:47
【问题描述】:
我创建了一个 WPF 自定义控件,效果很好。 它有一个设置一些属性的样式和一个模板。
现在我想更改控件,使其具有“活动”属性。 如果这是真的,它应该使用属性“ActiveBrush”作为描边 模板中的一些矩形,否则它应该使用“InactiveBrush”。
我想使用 ActiveBrush 作为默认 Stroke,并将其更改为 InactiveBrush 带触发器。
当我使用这个时,这适用于一个矩形:
<Trigger Property="Active" Value="False">
<Setter TargetName="Rec1" Property="Stroke" Value="{Binding Path=InactiveBrush, RelativeSource={RelativeSource TemplatedParent}}"/>
</Trigger>
但由于我不想使用单独的设置器设置每个矩形,所以我问自己是否应该使用一个设置器设置模板中所有矩形的属性。
我已经试过了:
<Trigger Property="Active" Value="False">
<Setter Property="Rectangle.Stroke" Value="{Binding Path=InactiveBrush, RelativeSource={RelativeSource TemplatedParent}}"/>
</Trigger>
但这没有用。
有没有人建议,如何实现这个?
提前致谢。
【问题讨论】:
标签: c# wpf xaml triggers styles