Почему WPF Animation не учитывает значения высоты или ширины? - PullRequest
0 голосов
/ 23 декабря 2011

Почему эта анимация приводит к тому, что окно перемещается слева направо в исходное положение, а затем переходит в другое положение, хотя я установил свойства ширины и высоты до начала анимации. Кажется, он сбрасывает значение высоты, когда начинает показывать ширину, а затем возвращает его обратно при выполнении второй анимации.

  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

1 Ответ

1 голос
/ 24 декабря 2011

Не уверен, относится ли это к вашему сценарию, но я просто потратил 4 часа на отслеживание ошибки анимации ширины / высоты (в моем случае основного окна). Во всех моих отчаянных попытках ухватиться за что-либо, я в конечном итоге споткнулся о этот пост. В итоге для меня «исправлением» оказалось переключение проекта на использование .NET Framework 3.5. Если у вас есть такая роскошь, попробуйте ее и посмотрите, не изменится ли поведение.

Хотя у вас и у меня есть проблемы с анимацией и шириной / высотой, я обнаружил еще одного человека на MS connect , который сообщил, что ширина / высота не работает с триггерами (только .NET Framework 4.0). Я создал очень маленький тестовый проект, который иллюстрирует проблему, и представил свой собственный отчет об ошибках, но я на самом деле не затаил дыхание, так как другой парень опубликовал свою проблему 20 месяцев назад, и с тех пор его проблема была «в сортировке и разрешении».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...