ControlTemplate作成したforで問題が発生しToggleButtonました。
ボタンがChecked、の場合、aColorAnimationがトリガーされ、コントロールの背景の色が変わります。ただし、ユーザーがMouseOver状態に入ると、ボタンの背景にも影響を与える別のアニメーションがトリガーされます。
マウスがその状態でなくなるとMouseOver、コントロールはその状態にある間は本来あるべき色に戻りませんChecked。MouseOver状態がトリガーされたときにこれが持続しない理由はわかりません。
私のVisualStateManager部分はControlTemplateこのように見えます:
<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>