Wpf 数据触发器';s进入/退出动画冲突
最初我有一个DataTrigger,它将可见性设置为折叠:Wpf 数据触发器';s进入/退出动画冲突,wpf,xaml,Wpf,Xaml,最初我有一个DataTrigger,它将可见性设置为折叠: <DataTrigger Binding="{Binding Confidence}" Value="0"> <Setter Property="Visibility" Value="Collapsed" /> </DataTrigger> 我想要平滑淡出/淡出动画,而不是设置可见性,淡出比淡出动画慢,所以我使用了DataTrigger的Enteraction和ExitAction: &l
<DataTrigger Binding="{Binding Confidence}" Value="0">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
我想要平滑淡出/淡出动画,而不是设置可见性,淡出比淡出动画慢,所以我使用了DataTrigger的Enteraction和ExitAction:
<Storyboard x:Key="FadeOutStoryboard" Duration="0:0:1">
<DoubleAnimation Storyboard.TargetProperty="Opacity" To="0" />
</Storyboard>
<Storyboard x:Key="FadeInStoryboard" Duration="0:0:0.2">
<DoubleAnimation Storyboard.TargetProperty="Opacity" To="1" />
</Storyboard>
<DataTrigger Binding="{Binding Confidence}" Value="0">
<DataTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource FadeOutStoryboard}" />
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<BeginStoryboard Storyboard="{StaticResource FadeInStoryboard}" />
</DataTrigger.ExitActions>
</DataTrigger>
问题是,有时UIElement保持半透明,没有动画运行
置信度属性是实时变化的,但当UIElement是半透明的时,该值始终大于0
我也尝试过停止故事板,但这并没有解决问题
<DataTrigger Binding="{Binding Confidence}" Value="0">
<DataTrigger.EnterActions>
<StopStoryboard BeginStoryboardName="BeginFadeIn" />
<BeginStoryboard x:Name="BeginFadeout" Storyboard="{StaticResource FadeOutStoryboard}" />
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<StopStoryboard BeginStoryboardName="BeginFadeout" />
<BeginStoryboard x:Name="BeginFadeIn" Storyboard="{StaticResource FadeInStoryboard}" />
</DataTrigger.ExitActions>
</DataTrigger>
持续时间中的十进制值似乎有问题。您可以从各种缓和功能中进行选择,以在相同的持续时间内模拟更快的动画效果,如下所示:
我需要明确地设置动画的持续时间,而不仅仅是在故事板上: 看起来动画并没有从故事板继承持续时间,并且有一些默认的持续时间1 在情节提要上设置持续时间且其小于动画时,动画将被剪裁
<Storyboard x:Key="FadeInStoryboard" Duration="0:0:1">
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0" To="1">
<DoubleAnimation.EasingFunction>
<BackEase Amplitude='1' EasingMode='EaseIn' />
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>