普通状态不会自动触发



我正在尝试使用该CommonStates来为我的用户控件设置动画。 我尝试了以下方法:

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal">
</VisualState>
<VisualState x:Name="PointerOver">
<Storyboard>
<ColorAnimationUsingKeyFrames Storyboard.TargetName="circle"
Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)"
EnableDependentAnimation="True">
<LinearColorKeyFrame Value="Red"
KeyTime="0:0:0.02" />
</ColorAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Pressed">
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Ellipse x:Name="circle"
Height="280"
Width="280"
Fill="Green" />
</Grid>

我可以通过手动调用UpdateStates(true)来生成更改,但参考文档,应该自动触发常见状态。

知道我做错了什么吗?

某些控件定义了视觉状态,并在其实现中在它们之间切换,例如ButtonCheckbox。在这种情况下,这些状态列在文档中,如下所示。不幸的是,Grid不是其中之一,因此,如果您希望在那里进行类似的行为,则需要添加事件处理程序并手动使用GoToState。还可以从Grid创建自定义派生类,以使此行为可重用。

相关内容

  • 没有找到相关文章

最新更新