【发布时间】:2016-04-12 14:44:45
【问题描述】:
我在 stackoverflow 上看到了很多关于绑定 ControlTemplate.Trigger 的问题,但我没有遇到任何关于绑定到 ControlTemplate 内部控件的 datatrigger 的信息。
在我的ControlTemplate 中,我有一个Rectangle。填充通常是红色的,除非depency property Input1Active 等于 1。我尝试了以下代码,但它似乎无法正常工作。
<Style TargetType="{x:Type local:CustomAxis_IO}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:CustomAxis_IO}">
<Grid
<Rectangle Fill="Red">
<Rectangle.Style>
<Style TargetType="{x:Type Rectangle}">
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource TemplatedParent},Path=Input1Active}" Value="1">
<Setter Property="Fill" Value="Green"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Rectangle.Style>
</Rectangle>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
如何将矩形的数据触发器绑定到控件的依赖属性Input1Active?
【问题讨论】: