Анимация расположения окна - PullRequest
2 голосов
/ 05 ноября 2011

Я пытаюсь анимировать местоположение моего окна.

СЦЕНАРИЙ : У меня есть окно, и когда я нажимаю на кнопку, я хочу, чтобы окно плавно перемещалось на 100px от его текущего местоположения.

Пример

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 ]

2 голосов
/ 06 ноября 2011

Я не верю, что вы сможете сделать это с помощью анимации XAML, но вы все равно можете добиться этого эффекта с помощью DispatcherTimer или Storyboard.

С каждым тиком (временным кадром) вы можете сбросить положение окна в коде. Просто включите отметки таймера, чтобы воспроизвести около 40 кадров в секунду (каждые 150 миллисекунд).

Надеюсь, это поможет!

0 голосов
/ 24 февраля 2016

Вот немного более простого решения:

если вы пытаетесь сделать анимацию плавной, вам нужен таймер, но для каждого 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

Надеюсь, это помогло!

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