2011-11-05 81 views
2

我正在尝试使窗口的位置动起来。窗口位置动画

情景: 我有一个窗口,当我在我的按钮点击,我希望窗口平滑移动100像素,从它的当前位置。

Private Sub minimize_button_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles minimize_button.Click 

    Dim windowsize as integer = window1.top 
    windowsize = windowsize - 100 

End Sub 

但随着XAML动画。我不知道如何在这种情况下制作动画。


任何答案是赞赏,真诚VenoMDee。

回答

2

我不相信你能用XAML动画做到这一点,但你仍然可以通过DispatcherTimer或Storyboard实现这种效果。

随着每一个滴答声(基于时间的帧),您都可以在代码中重置窗口的位置。只需启动定时器的滴答就可以每秒重现约40帧(每150毫秒)。

希望有帮助!

0

这里是一个有点简单的解决办法:

如果你想让你动画流畅,你需要一个计时器,但对于每一个timer1.tick您需要降低的时间间隔,除非它是>屏幕高度。这会使它现在进一步走得更快。我以前曾使用过这种方法,并且动画非常好。

Timer1.Interval -= 1 
Me.top = Me.Top * 1.05 
If Me.Top > My.Computer.Screen.Bounds.Height Then 
    Timer1.Enabled = False 
End If 

希望这有助于!