У меня есть пользовательский элемент управления WPF, который должен непрерывно вращаться в соответствии со значением boolean
свойства X
. Вращение указанного измененного элемента управления вручную добавило свойство RenderTransform
RotateTransform.angle
, поэтому я установил его в качестве целевого свойства моей раскадровки.
<Storyboard x:Key="stbRotation0">
<DoubleAnimation Storyboard.TargetName="vboMain"
Storyboard.TargetProperty="(UIElement.RenderTransform).(RotateTransform.Angle)"
From="0" To="360" Duration="0:0:5"/>
</Storyboard >
Изменение значения переменной X
Я начинаю или останавливаю раскадровку ( и пользовательский элемент управления, который указывает цветами boolean
состояния [sigIsAnimated]
)
Public Shared Sub OnIsAnimatedChanged(source As DependencyObject, e As DependencyPropertyChangedEventArgs)
Dim controlo As AnimacaoCilindroVerde = TryCast(source, AnimacaoCilindroVerde)
Dim animacaoSensor As Storyboard = controlo.FindResource("stbRotation" & controlo.SpinDirection)
controlo.sigIsAnimated.IsAnimated = e.NewValue
If e.NewValue Then
animacaoSensor.Begin()
Else
animacaoSensor.Stop()
End If
End Sub
В окне, где используются эти элементы управления, я также добавил кнопку, которая инвертирует это значение X
при нажатии, которое я Я использую для проверки этого, но никаких исключений или поворотов не видно (мой пользовательский элемент управления для представления boolean
состояний показывает, что переменная действительно изменяется).