[ad_1]
こんにちは皆さん。
MouseEnter と MouseLeave 中に ToggleButton をアニメーション化してみました。
以下のコードは、カラーコードを直接使用すると機能します。
しかし、それをリソースに参照すると、機能せず、例外が発生します。
スローされる例外:
System.Windows.Markup.XamlParseException: ”プロパティ ‘System.Windows.Media.Animation.ColorAnimation.From’ を設定すると例外がスローされました。 行番号「137」、行位置「46」。
内部例外: ArgumentException: ‘#FF2E353F’ はプロパティ ‘From’ の有効な値ではありません。
親切に助けていただけませんか?
私が試したこと:
これはうまくいきます。
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>
このコードは機能せず、例外が発生します。
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>
解決策 1
あなたのリソースは Color ではなく SolidColorBrush であり、From が期待しているものです。
リソースは次のとおりであるべきだと思います。
XAML
<Color x:Key="MyBox.TButton.Bg">#FF2E353F</Color>
[ad_2]
コメント