我有一个简单的窗口,用户可以扫描条形码,然后根据条形码获得动画。
在第一个动画之后它停止接收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)
看起来动画仍在继续,无法接收下一个输入事件。
答案 0 :(得分:0)
是的,这对WPF来说很奇怪。在动画属性上调用null
动画之前,动画不会清除。试试这个:
// You have to run a 'null' animation to clear an animated property
win.BeginAnimation(TextBlock.TextProperty, null)
这样的事情。 (不确定如何正确格式化VB)。
修改强>: