Làm cách nào để sử dụng màu tài nguyên trong WPF hoạt hình kép?

lập trình


Chào các bạn.
Tôi đã cố gắng tạo hoạt ảnh cho ToggleButton của mình trong MouseEnter và MouseLeave.
Mã bên dưới hoạt động khi tôi sử dụng trực tiếp mã màu.
Nhưng nếu tôi tham chiếu nó đến một tài nguyên thì nó không hoạt động và cho tôi một ngoại lệ.

Ngoại lệ được ném:
System.Windows.Markup.XamlParseException: ”Đặt thuộc tính ‘System.Windows.Media.Animation.ColorAnimation.From’ đã tạo ra một ngoại lệ.’ Số dòng ‘137’ và vị trí dòng ’46’.’
Ngoại lệ bên trong: ArgumentException: ‘#FF2E353F’ không phải là giá trị hợp lệ cho thuộc tính ‘Từ’.

Xin vui lòng giúp đỡ?

Những gì tôi đã thử:

Điều này hoạt động tốt.

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>

Mã này không hoạt động và cho tôi ngoại lệ.

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>

Giải pháp 1

Tài nguyên của bạn là SolidColorBrush, không phải Màu, đó là điều From mong đợi.

Tôi nghĩ tài nguyên của bạn nên là:

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

コメント

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