Интересно, может ли кто-нибудь помочь мне? У меня есть ярлык, который мне нужно, чтобы перекрестие между любыми 2 цветами, когда метод вызывается в коде позади.
Моя лучшая попытка:
Private OldColor as Color = Colors.White
Sub SetPulseColor(ByVal NewColor As Color)
Dim F As New Animation.ColorAnimation(OldColor, NewColor, New Duration(TimeSpan.Parse("00:00:01")))
OldColor = NewColor
F.AutoReverse = False
PulseLogo.BeginAnimation(Label.ForegroundProperty, F)
End Sub
Проблема заключается в том, что ColorAnimation возвращает Media.Color и тип свойства Foreground - Brush.
Я знаю, как создать соответствующую кисть, но не как сделать это в анимации.
Из Google, похоже, мне нужен конвертер:
<ValueConversion(GetType(SolidColorBrush), GetType(SolidColorBrush))> _
Public Class ColorConverter
Implements IValueConverter
Public Function Convert(ByVal value As Object, ByVal targetType As Type, ByVal parameter As Object, ByVal culture As System.Globalization.CultureInfo) As Object Implements System.Windows.Data.IValueConverter.Convert
Dim Color As Color = DirectCast(value, Color)
Return New SolidColorBrush(Color)
End Function
Public Function ConvertBack(ByVal value As Object, ByVal targetType As Type, ByVal parameter As Object, ByVal culture As System.Globalization.CultureInfo) As Object Implements System.Windows.Data.IValueConverter.ConvertBack
Return Nothing
End Function
End Class
но все примеры, которые я видел, привязывают его к анимации в XAML - И я хотел бы сделать это в коде позади...
Кто-нибудь может указать мне в правильном направлении?
Спасибо