我已经查看了 Stackoverflow,但还没有看到任何关于此的内容。
目前,我正在使用动画来让组框在操作发生时闪烁(即其他工作)。不幸的是,由于正在运行其他操作/工作,闪烁并不顺畅。我已经尝试穿插 ThreadHelper.DoEvents() 这有帮助但还远远不够。有没有办法使动画更新顺利进行(即闪烁不一致)而不将所有其他操作放在自己的线程上(由于与UI交互而被认为过于复杂)?首选是将组框动画的更新放在自己的线程中(或类似的东西或??)?
动画如下:
<Storyboard x:Key="FlashingGroupBoxForTest" RepeatBehavior="Forever">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="StartTest">
<EasingDoubleKeyFrame KeyTime="0" Value="1"/>
<EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="0"/>
<EasingDoubleKeyFrame KeyTime="0:0:1" Value="1"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
触发器用于启动和停止动画
<ei:DataTrigger Binding="{Binding PerformingFocusTest, Mode=OneWay}" Value="True">
<ei:ControlStoryboardAction Storyboard="{StaticResource FlashingGroupBoxForTest}"
ControlStoryboardOption="Play"/>
</ei:DataTrigger>
<ei:DataTrigger Binding="{Binding PerformingFocusTest, Mode=OneWay}" Value="False">
<ei:ControlStoryboardAction Storyboard="{StaticResource FlashingGroupBoxForTest}"
ControlStoryboardOption="Stop"/>
</ei:DataTrigger>
感谢您的关注,感谢您提供任何帮助。
最好的,
巴克