例如,我为某个元素设置了Visibility的开启和关闭。我有一个触发器,它侦听被设置为可见的可见性,并播放一个淡入元素的故事板。
所以另一方面,当元素设置为Hidden时,我希望元素淡出,然后将属性设置为Visibility = false。这有可能吗?如果可以的话怎么样?目前我有类似的东西:
<Style.Triggers>
<Trigger Property="Visibility" Value="Visible">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:0.5" />
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="1" To="0" Duration="0:0:0.5" />
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
</Trigger>
</Style.Triggers>
答案 0 :(得分:2)
还有更多的Trigger类可以满足您的需求。也许您可以使用另一个触发器来实现您想要做的事情。
来自MSDN:
有几种不同的类型 触发器:Trigger,MultiTrigger, EventTrigger,DataTrigger和 MultiDataTrigger
也许使用DataTrigger绑定到一个状态属性,告诉UI有什么变化?或者您可以尝试使用自定义事件和EventTrigger来实现相同的目标?只是一些想法..