我在控件模板上设置了以下数据触发器
<DataTrigger Binding="{Binding Path=IsDragged}"
Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource Active}" />
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<BeginStoryboard Storyboard="{StaticResource Unactive}" />
</DataTrigger.ExitActions>
</DataTrigger>
一般来说,它至少会发射一次(不一定总是),并且在某一点上会停止。一些其他有趣的注释:
-
在多数据触发器中设置了相同的属性,此触发器将始终激发
-
相同的故事板在另一个触发器中被引用,它们在该触发器失败后继续运行
编辑:多重数据触发器的设置如下:
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Path=IsActive}"
Value="True" />
<Condition Binding="{Binding Path=IsDragged}"
Value="False" />
<Condition Binding="{Binding Path=IsInCart}"
Value="False" />
</MultiDataTrigger.Conditions>
<MultiDataTrigger.EnterActions>
<BeginStoryboard x:Name="ShowTag_BeginStoryboard"
Storyboard="{StaticResource ShowTag}" />
</MultiDataTrigger.EnterActions>
<MultiDataTrigger.ExitActions>
<BeginStoryboard x:Name="HideTag_BeginStoryboard"
Storyboard="{StaticResource HideTag}" />
</MultiDataTrigger.ExitActions>
</MultiDataTrigger>