ToggleButton
のControlTemplate
に関する問題が発生しました。MouseOver状態がトリガされた後に、ColorAnimation for Checked状態が持続的な色にならないのはなぜですか?
ボタンがChecked
の場合、ColorAnimation
がトリガーされ、コントロールの背景色が変わります。しかし、ユーザがMouseOver
状態を入力すると、ボタンの背景にも影響する別のアニメーションがトリガされます。
マウスがもはやMouseOver
状態にないとき、コントロールはChecked
状態にあるはずの色に戻りません。 MouseOver
の状態がトリガーされたときになぜこれが持続しないのか分かりません。 Border
を同封Grid
を作成関わる私が持っていた問題の
<VisualStateManger.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal"></VisualState>
<VisualState x:Name="MouseOver">
<Storyboard>
<ColorAnimation Storyboard.TargetName="BackgroundBorder"
Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)"
To="Gold" Duration="0:0:0.3" />
</Storyboard>
</VisualState>
</VisualStateGroup>
<VisualStateGroup x:Name="CheckedStates">
<VisualState x:Name="Checked">
<Storyboard>
<ColorAnimation Storyboard.TargetName="BackgroundBorder"
Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)"
To="PaleGoldenrod" Duration="0:0:0.3" />
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
私は、異なるグループに属する視覚状態で同じターゲットプロパティをアニメーション化することは良い考えではないと思います。ソリューションの1つは、異なるグループのビジュアル状態を異なるプロパティ/要素のセットで操作することです。 –
問題の原因と同じプロパティをアニメートするので、私は考えていました。 –