这个问题之前已经解决过,但我无法让它正常工作......应该非常简单!
这是我的 XAML:
<UserControl.Style>
<Style TargetType="UserControl">
<Style.Triggers>
<Trigger Property="Visibility" Value="Visible">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard x:Name="FadeOutAnimation">
<DoubleAnimation Storyboard.TargetProperty="Opacity"
FillBehavior="Stop"
BeginTime="0:0:5" From="1.0" To="0.0"
Duration="0:0:1"/>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<ObjectAnimationUsingKeyFrames
Storyboard.TargetProperty="Visibility"
BeginTime="0:0:7">
<DiscreteObjectKeyFrame>
<DiscreteObjectKeyFrame.Value>
<Visibility>Hidden</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
</Trigger>
</Style.Triggers>
</Style>
</UserControl.Style>
这按预期工作:当控件的 Visibility 属性设置为 Visible 时,控件将显示 5 秒,然后淡出 1 秒。然后,该控件的可见性在 7 秒后重置为隐藏(很奇怪,但是 6 秒,即淡入淡出动画的总时间,还不够 - 我猜是另一个 MS 错误!)。
在发生后续 Button.Click 事件时,“可见性”属性将显示为卡住或锁定为“隐藏”,并且无法再次变为“可见”!
有什么想法为什么不呢?
最佳答案
ExitActions Storyboard 中的 FillBehavior="Stop"
有帮助吗?
我认为这个 Storyboard具有可见性值(value)。
看看How to: Set a Property After Animating It with a Storyboard .
关于c# - 用户控制不透明度随可见性淡出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8824401/