视觉状态淡入和淡出

本文关键字:淡出 淡入 状态 视觉 | 更新日期: 2023-09-27 17:57:32

目前我定义了一组视觉状态,这些状态在路径中淡出,下面是一个例子:

<VisualState x:Name="MyPathFadeIn">
  <Storyboard>
    <ColorAnimation Storyboard.TargetName="MyPath" Storyboard.TargetProperty="(Path.Fill).(SolidColorBrush.Color)" From="#00000000" To="Red" Duration="0:0:1.5" />
  </Storyboard>
</VisualState>

现在我想知道,如果我从代码隐藏更改当前的视觉状态,有没有办法自动调用某种淡出状态?

视觉状态淡入和淡出

视觉状态都是关于状态的!在代码隐藏中,可以通过 VisualStateManager.GoToState 方法将控件设置为状态。因此,如果要"调用"某些淡出状态,只需将控件设置为该状态即可!

我不确定这是否有帮助,但是当您使用ColorAnimation时,我很确定您不必设置 ColorAnimation.From 属性。 如果未设置,则过渡到视觉状态应从当前设置为的颜色开始。因此,如果您只使用ColorAnimation.To属性定义情节提要,则必须显式声明所有内容可能会有所帮助?

或者,您始终可以使用自己的子类扩展VisualStateManger。 一个在收到新的状态更改时将所有其他VisualStateGroups设置为"关闭"?