这就是我想要达到的目标。
是售货亭的条形码阅读器。
我知道最好在文本块上做动画,但是如何从代码中触发动画呢?
这可能是一个更容易的方式来完成这一点,请告诉我,如果有。
我用VB编写代码,是个老派,但我可以轻松地在网上转换你的C#代码。
提前感谢
发布于 2013-05-10 19:55:54
我会使用TextChanged事件,所以一个例子应该是这样的。
private void txScanBox_TextChanged(object sender, EventArgs e)
{
//Do whatever
return;
}发布于 2013-05-10 21:00:58
现在我正在使用这个,如果您有更好的方法,请告诉我。
在xaml中,我创建了3个没有触发器的故事级。
<Window.Resources>
<Storyboard x:Key="WrongBarcode">
<StringAnimationUsingKeyFrames Storyboard.TargetProperty="(TextBlock.Text)" Storyboard.TargetName="txtbScan">
<DiscreteStringKeyFrame KeyTime="0:0:0" Value="Wrong Barcode"/>
<DiscreteStringKeyFrame KeyTime="0:0:4" Value="Scan your barcode"/>
</StringAnimationUsingKeyFrames>
</Storyboard>
<Storyboard x:Key="Win">
<StringAnimationUsingKeyFrames Storyboard.TargetProperty="(TextBlock.Text)" Storyboard.TargetName="txtbScan">
<DiscreteStringKeyFrame KeyTime="0:0:0" Value="Hurray You Won"/>
<DiscreteStringKeyFrame KeyTime="0:0:25" Value="Scan your barcode"/>
</StringAnimationUsingKeyFrames>
</Storyboard>
<Storyboard x:Key="Unqulified">
<StringAnimationUsingKeyFrames Storyboard.TargetProperty="(TextBlock.Text)" Storyboard.TargetName="txtbScan">
<DiscreteStringKeyFrame KeyTime="0:0:0" Value="Please Qualify your card at the Cashier."/>
<DiscreteStringKeyFrame KeyTime="0:0:4" Value="Scan your barcode"/>
</StringAnimationUsingKeyFrames>
</Storyboard>
</Window.Resources>然后在后面的代码
Private Sub Window_KeyDown(sender As Object, e As KeyEventArgs)
Static curBarcode As String
If e.Key = 6 Then 'Found that it hits key6 at the end of each barcode read
Select Case ValidateCard(curBarcode)
Case 0
Dim Unqulified As Storyboard = DirectCast(FindResource("Unqulified"), Storyboard)
Unqulified.Begin(Me)
Case 1
Dim win As Storyboard = DirectCast(FindResource("Win"), Storyboard)
win.Begin(Me)
Case Else
Dim WrongBarcode As Storyboard = DirectCast(FindResource("WrongBarcode"), Storyboard)
WrongBarcode.Begin(Me)
End Select
'txtbScan.Text = "Scan your gift card."
curBarcode = ""
Else
curBarcode = curBarcode & Mid(e.Key.ToString(), 2, 1)
'
End If
End Sub我仍然需要改变获胜的文本,它有许多变化。我正在考虑添加一个更大的文本块,甚至是一个图像,并在代码中设置值和动画可见性。
请告诉我你的想法。
谢谢
https://stackoverflow.com/questions/16489838
复制相似问题