例如,我正在为某个元素设置可见性和关闭。我有一个 Trigger,它监听 Visibility 设置为 Visible 并播放一个在元素中淡入淡出的 Storyboard。
所以另一方面,当元素设置为 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>
最佳答案
还有更多的 Trigger 类。。也许你可以使用另一个 trigger 来实现你想做的事情。。
来自 MSDN:
There are several different types of triggers: Trigger, MultiTrigger, EventTrigger, DataTrigger, and MultiDataTrigger.
也许使用 DataTrigger 绑定(bind)到状态属性,告诉 UI 某些事情正在发生变化?或者您可以尝试使用自定义事件和 EventTrigger 来实现相同的目的?只是一些想法..
关于wpf - 在属性更改之前,您可以定义一个要播放的 Storyboard吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/985632/