0
我有這樣的XAML:爲什麼Canvas.SetTop動畫無法正常工作?
<Canvas Width="75" Height="75">
<Button x:Name="button" Background="Olive" Canvas.Left="0" Canvas.Top="0" Width="75" Height="75" Click="button_Click"/>
</Canvas>
而這後面的代碼:
Private Sub button_Click(ByVal sender as Object, ByVal e as System.Windows.RoutedEventArgs)
Canvas.SetTop(sender, -75)
Dim sb1 As New Storyboard
Dim da1 As New DoubleAnimationUsingKeyFrames
da1.BeginTime = TimeSpan.FromSeconds(0)
Storyboard.SetTargetName(da1, CType(sender, Button).Name)
Storyboard.SetTargetProperty(da1, New PropertyPath(Canvas.TopProperty))
Dim t1 As Double = Canvas.GetTop(sender)
da1.KeyFrames.Add(New SplineDoubleKeyFrame(t1 + 75, TimeSpan.FromSeconds(0.2)))
sb1.Children.Add(da1)
BeginStoryboard(sb1)
End Sub
當我點擊按鈕的第一次,它恰當地75上升,以動畫方式返回0,但是當我再次點擊該按鈕,它會將動畫縮小75.爲什麼它跳過Canvas.SetTop線並直接進入動畫部分?以及如何解決這個問題?
現在有效嗎? – Klaus78 2012-03-20 09:21:28
@ Klaus78是的,謝謝! – Cobold 2012-03-20 19:42:33