我是使用Expression Blend 4的设计师,我们的环境是.NET 3.5。
这个问题对你们来说可能很简单,但这给我带来了很多问题。
我需要将交互应用于按钮,该按钮将在按钮启用时触发状态。
在按钮上,开发人员具有与IsEnabled属性关联的布尔值。我必须为EventTrigger提供一个EventName,我唯一能想到的是IsEnabledChanged。但是,当我运行应用程序时,这没有任何作用。
如何告诉触发器查找按钮的IsEnabled属性的布尔值的更改?
以下是代码:
<Button x:Name="SaveButton"
Command="{Binding SaveCommand}"
IsEnabled="{Binding IsSaveAllowedBool}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="IsEnabledChanged">
<ic:GoToStateAction StateName="MyState"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
答案 0 :(得分:2)
我找到了解决问题的方法。
我在ContentControl
元素周围包裹了一个Border
,我试图根据布尔值显示/消失(我这样做是为了修改ControlTemplate
- { {1}}元素没有与之关联的Border
)
然后我将ControlTemplate
的{{1}}属性绑定到开发人员所拥有的同一个bool上。我修改了IsEnabled
的{{1}},以便在布尔值更改时触发ContentControl
。
以下是代码:
ControlTemplate
此解决方案完美无缺。只是想我会分享。