动画从按下状态到正常按钮状态的转换

时间:2014-01-20 07:23:51

标签: wpf xaml windows-phone-8

我的Pressed州正在降低Button内容的不透明度。

我想设置从PressedNormal的转换动画,这样才需要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>

我想知道我做错了什么。

1 个答案:

答案 0 :(得分:0)

使用鼠标无法在手机或开发环境中使用吗? 如果是后者,您是否尝试将VisualTransition更改为Pressed-&gt; MouseOver?使用鼠标,无法从按下 - >正常,因为鼠标仍然会结束。

除了这种可能性,乍看之下一切看起来还不错。

(我发现一个有用的资源是http://samples.msdn.microsoft.com/Silverlight/SampleBrowser/index.htm#/?sref=CustomTemplateSamples&id=4,虽然对SilverLight来说仍然对WPF很有用)