我正在尝试切换ControlTemplate
样式中的按钮。
<Style TargetType="Button">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=TestProperty}" Value="true">
<Setter Property="Template" Value="{StaticResource MyCustomTemplate}"/>
</DataTrigger>
</Style.Triggers>
</Style>
它工作正常,直到我在代码中更改按钮的模板。例如,
myButton.Template = someTemplate;
即使这样也足以重现错误:
myButton.Template = myButton.Template;
顺便说一句,以下代码将正确地将前景更改myButton
为Aqua
. 这意味着触发器工作正常。它只是不能设置模板
<Style TargetType="Button">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=TestProperty}" Value="true">
<Setter Property="Template" Value="{StaticResource MyCustomTemplate}"/>
<Setter Property="Foreground" Value="Aqua"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
为什么会这样?