【发布时间】:2014-01-20 07:23:51
【问题描述】:
我的Pressed 状态正在降低Button 内容的不透明度。
我想对从Pressed 到Normal 的过渡进行动画处理,这样需要 3 秒才能发生。我尝试定义一个 VisualTransition 但它不起作用。按下我的按钮立即恢复正常,我看不到不透明度从0.5 逐渐恢复到1。
<VisualStateGroup x:Name="CommonStates">
<VisualStateGroup.Transitions>
<VisualTransition From="Pressed"
To="Normal"
GeneratedDuration="0:0:3" />
</VisualStateGroup.Transitions>
<VisualState x:Name="Normal" />
<VisualState x:Name="MouseOver" />
<VisualState x:Name="Pressed">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity"
Storyboard.TargetName="ContentContainer">
<DiscreteObjectKeyFrame KeyTime="0"
Value="0.5" />
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
我想知道我做错了什么。
【问题讨论】:
-
您是否使用混合来创建动画?您可以实时查看动画。用 blend 创建动画真的很容易。
-
我没有使用 Blend。我现在刚刚尝试过,对于我来说如何使用这个工具来解决我的问题并不明显。
-
用钥匙创建你的故事板(动画)。创建行为 => ControlStoryboardAction 并与您的控件链接。例如,在 1 秒内为不透明度从 0 到 1 的按钮创建动画。只要链接到另一个按钮,您就会看到动画。
标签: wpf xaml windows-phone-8