我有一个组合框,我已经模板化了它的控制模板。 Togglebutton是控件模板的一部分。现在当在togglebutton(ex:Checked)上引发一个事件时,我想改变组合框属性(例如:前景)。这该怎么做?我们可以使用relativesource吗?
答案 0 :(得分:1)
您可以使用Trigger
中的ControlTemplate
并使用Trigger.SourceName
属性指定ToggleButton
作为触发源。
示例:
<ControlTemplate ... >
<Grid ... >
<!-- ... -->
<ToggleButton x:Name="btnToggle" ... />
<!-- ... -->
</Grid>
<ControlTemplate.Triggers>
<Trigger SourceName="btnToggle" Property="IsChecked" Value="True">
<Setter Property="Foreground" Value="Red" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
当然,这仅适用于您请求的属性而非事件。但是,有许多属性可用于代替事件,例如IsChecked
属性而不是Checked
事件。