动画事件停止工作后的WPF

时间:2013-05-30 19:36:20

标签: wpf vb.net animation

我有一个简单的窗口,用户可以扫描条形码,然后根据条形码获得动画。

在第一个动画之后它停止接收Window_KeyDown事件。

动画是通过代码触发的,因为它需要读取条形码。

这是故事板。

    <Storyboard x:Key="Win">
        <StringAnimationUsingKeyFrames Storyboard.TargetProperty="(TextBlock.Text)" Storyboard.TargetName="txtbScan">
            <DiscreteStringKeyFrame KeyTime="0:0:05" Value="Scan your barcode"/>
        </StringAnimationUsingKeyFrames>
    </Storyboard>

我在这里打电话给代码。

                Dim win As Storyboard = DirectCast(FindResource("Win"), Storyboard)
                txtbScan.Text = "Hurray you won " & GetPrize(curBarcode)
                win.Begin(Me)

看起来动画仍在继续,无法接收下一个输入事件。

1 个答案:

答案 0 :(得分:0)

是的,这对WPF来说很奇怪。在动画属性上调用null动画之前,动画不会清除。试试这个:

// You have to run a 'null' animation to clear an animated property
win.BeginAnimation(TextBlock.TextProperty, null)

这样的事情。 (不确定如何正确格式化VB)。

修改

看看这个How to stop an animation in C# / WPF?