为什么这个动画导致窗口首先在原始位置从左到右移动,然后跳到另一个位置,即使我在动画开始之前设置了width和height属性。它似乎在开始显示宽度时重置高度值,然后在进行第二次动画时将其更改回来。
Sub ShowTitle(ByVal Text As String)
tb_text.Visibility = Windows.Visibility.Hidden
tb_text.Height = 5
tb_text.Width = 0
tb_text.Text = Text
tb_text.Visibility = Windows.Visibility.Visible
Dim SB As New Animation.Storyboard
Dim FIW = New Animation.DoubleAnimation(0, 400, New Duration(TimeSpan.FromSeconds(2)))
SB.Children.Add(FIW)
Animation.Storyboard.SetTargetName(FIW, tb_text.Name)
Animation.Storyboard.SetTargetProperty(FIW, New PropertyPath(WidthProperty))
Dim FIH = New Animation.DoubleAnimation(5.0, 50.0, New Duration(TimeSpan.FromSeconds(2)))
FIH.BeginTime = TimeSpan.FromSeconds(2)
SB.Children.Add(FIH)
Animation.Storyboard.SetTargetName(FIH, tb_text.Name)
Animation.Storyboard.SetTargetProperty(FIH, New PropertyPath(HeightProperty))
SB.Begin(Me)
End Sub
答案 0 :(得分:1)
不确定这是否与您的场景有关,但我花了4个小时跟踪宽度/高度(在我的主窗口的情况下)动画的错误。在我抓住任何事情的绝望尝试中,我最终绊倒了这篇文章。最后,对我来说,“修复”结果是将项目切换回使用.NET Framework 3.5。如果您有这种奢侈品,请尝试并查看行为是否发生变化。
虽然你和我都有动画和宽度/高度问题,但我发现MS connect上的另一个人报告宽度/高度不具有触发器的工作属性(仅限.NET framework 4.0)。我建立了一个非常小的测试项目来说明这个问题,并提交了我自己的错误报告,但是我并没有真正屏住呼吸,因为另一个人在20个月前发布了他的问题,他的问题从那时起就是“分类和解决方案”。