Интересно, может ли кто-нибудь мне помочь - у меня есть ярлык, который мне нужен, чтобы иметь возможность плавно переходить между любыми двумя цветами, когда метод вызывается в коде позади.
Моя лучшая попытка на данный момент:
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, а тип свойства для переднего плана - 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 - и я хотел бы сделать это в коде позади ...
Может кто-нибудь указать мне правильное направление?
Спасибо