Фон: я загружаю изображения в панель стека (называемую MainStack), отображаемую горизонтально (для аргументации, 10 изображений) с возможностью просмотра только 4 изображений.Когда я загружаю изображения из списка, я устанавливаю ширину каждого из них равной 300, чтобы они все были в одном поле размера.
Я хочу переместить изображения справа налево с помощью поля панели стека(слева) собственность.Я хочу, чтобы прокрутка оставалась равной ширине каждого изображения (повторяется с задержкой в 4 секунды) до тех пор, пока не появится последнее изображение.Вот мой код для анимации Margin:
Dim result As New Storyboard
Dim animation As New ThicknessAnimation
animation.From = MainStack.Margin
animation.EasingFunction = New PowerEase() With {.EasingMode = EasingMode.EaseInOut, .Power = 3}
animation.To = New Thickness(-300, 0, 0, 0)
animation.Duration = New Duration(TimeSpan.FromSeconds(1.5))
Storyboard.SetTarget(animation, MainStack)
Storyboard.SetTargetProperty(animation, New PropertyPath("Margin"))
result.Children.Add(animation)
result.Begin()
Странная вещь происходит.Панель стека перемещается влево, но только примерно на половину ширины изображения.
Что происходит?!?
/ * edit * / Согласно предложению HB, я 'мы пытались реализовать TranslateTransform, но без особого успеха.
Может кто-нибудь увидеть какие-либо проблемы с этим кодом?
Dim translatePosition = New Point(300, 0)
RenderTransform = New TranslateTransform()
Dim d As New Duration(New TimeSpan(0, 0, 0, 1, 30))
Dim x As New DoubleAnimation(translatePosition.X, d)
Storyboard.SetTarget(x, MainStack)
Storyboard.SetTargetProperty(x, New PropertyPath("(UIElement.RenderTransform).(TranslateTransform.X)"))
Dim sb As New Storyboard()
sb.Children.Add(x)
sb.Begin()
Кажется, ничего не происходит.Ben