मुझे आश्चर्य है कि कोई मेरी मदद कर सकता है - मेरे पास एक लेबल है जिसे मुझे किसी भी 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 और अग्रभूमि के लिए संपत्ति प्रकार ब्रश है।
मुझे पता है कि उचित ब्रश कैसे बनाएं, लेकिन एनीमेशन में इसे कैसे करें।
Googling से, यह मैं एक कनवर्टर की जरूरत है लगता है:
<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 में एनीमेशन के लिए यह बाँध देखा है - और मैं पीछे कोड में ऐसा करना चाहते हैं। ..
क्या कोई मुझे सही दिशा में इंगित कर सकता है?
धन्यवाद
यह वास्तव में सुरुचिपूर्ण है - मैं इसे आजमाउंगा। [संपादित करें] त्रुटि: 'System.indows.Media.SolidColorBrush' पर 'रंग' प्रॉपर्टी को एनिमेट नहीं कर सकता क्योंकि ऑब्जेक्ट को सील कर दिया गया है या जमे हुए है। [मेरे कोड]: \t \t मंद br के रूप में SolidColorBrush = DirectCast ((PulseLogo.Foreground), SolidColorBrush) \t \t PulseLogo.Foreground.BeginAnimation (SolidColorBrush.ColorProperty, एफ) 'किसी भी मदद के लिए धन्यवाद – Basic
क्षमा करें, आदमी, मैं गड़बड़। मैंने इसे पहले स्टोरीबोर्ड के साथ ही किया है और मैंने स्वाभाविक रूप से माना है कि मैं इसे सीधे एनालिनेशन कॉल में अनुवाद कर सकता हूं, जो गलत था। मैंने जवाब को अद्यतन किया है, अब वास्तविक \ * gasp \ * ईमानदार-से-भलाई परीक्षण कोड के साथ - उम्मीद है कि यह आपके लिए बेहतर काम करेगा। – itowlson
सी # के लिए कोई चिंता नहीं - वे बहुत समान हैं, यह एक बोली से थोड़ा अधिक है :) अद्यतन समाधान के लिए धन्यवाद - यह बेकार ढंग से काम करता है। – Basic