Bagaimana cara menggunakan warna sumber daya di WPF animasi ganda?

pemrograman


Hai semuanya.
Saya mencoba menganimasikan ToggleButton saya selama MouseEnter dan MouseLeave.
Kode di bawah ini berfungsi ketika saya menggunakan kode warna secara langsung.
Tetapi jika saya mereferensikannya ke sumber daya, itu tidak berfungsi dan memberi saya pengecualian.

Pengecualian Dilemparkan:
System.Windows.Markup.XamlParseException: ”Setel properti ‘System.Windows.Media.Animation.ColorAnimation.From’ memberikan pengecualian.’ Nomor baris ‘137’ dan posisi baris ’46’.’
Pengecualian Dalam: ArgumentException: ‘#FF2E353F’ bukan nilai yang valid untuk properti ‘Dari’.

Mohon bantuannya?

Apa yang saya coba:

Ini berfungsi dengan baik.

XML
<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>

Kode ini tidak berfungsi dan memberi saya pengecualian.

XML
<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>

Solusi 1

Sumber daya Anda adalah SolidColorBrush, bukan Warna, seperti yang diharapkan From.

Saya pikir sumber daya Anda harus:

XAML
<Color x:Key="MyBox.TButton.Bg">#FF2E353F</Color>

コメント

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