मैं डबलएनीमेशन WPF में संसाधन रंगों का उपयोग कैसे करूँ?


हाय दोस्तों।
मैंने माउसएंटर और माउसलीव के दौरान अपने टॉगलबटन को एनिमेट करने का प्रयास किया।
जब मैं सीधे रंग कोड का उपयोग करता हूं तो नीचे दिया गया कोड काम करता है।
लेकिन अगर मैं इसे किसी संसाधन के संदर्भ में संदर्भित करता हूं, तो यह काम नहीं करता है और मुझे अपवाद देता है।

अपवाद फेंका गया:
System.Windows.Markup.XamlParseException: ”सेट प्रॉपर्टी ‘System.Windows.Media.Animation.ColorAnimation.From’ ने एक अपवाद फेंक दिया।’ लाइन संख्या ‘137’ और लाइन स्थिति ’46’।’
आंतरिक अपवाद: ArgumentException: ‘#FF2E353F’ संपत्ति ‘From’ के लिए मान्य मान नहीं है।

कृपया कोई कृपया मदद करें?

मैंने क्या प्रयास किया है:

यह ठीक काम करता है.

एक्सएमएल
<BeginStoryboard x:Name="BeginStoryboardNameR">
    <Storyboard>
        <ColorAnimation From="#015CBF" To="#007AFF" 
                        Storyboard.TargetName="templateRoot" 
                        Storyboard.TargetProperty="(Control.Background).(SolidColorBrush.Color)"
                        FillBehavior="HoldEnd"
                        Duration="0:0:.2"/>
    </Storyboard>
</BeginStoryboard>

यह कोड काम नहीं करता और मुझे अपवाद देता है।

एक्सएमएल
<SolidColorBrush x:Key="MyBox.TButton.Bg" Color="#FF2E353F"/>

<BeginStoryboard x:Name="BeginStoryboardNameR">
    <Storyboard>
        <ColorAnimation From="{StaticResource MyBox.TButton.Bg}" To="#007AFF"
                        Storyboard.TargetName="templateRoot"
                        Storyboard.TargetProperty="(Control.Background).(SolidColorBrush.Color)"
                        FillBehavior="HoldEnd"
                        Duration="0:0:.2"/>
    </Storyboard>
</BeginStoryboard>

समाधान 1

आपका संसाधन एक SolidColorBrush है, रंग नहीं, जो कि से अपेक्षा करता है।

मुझे लगता है कि आपका संसाधन होना चाहिए:

एक्सएएमएल
<Color x:Key="MyBox.TButton.Bg">#FF2E353F</Color>

コメント

タイトルとURLをコピーしました