触发MouseOver状态后,为什么ColorAnimation for Checked状态不会保持颜色?

时间:2012-09-25 19:16:20

标签: wpf controltemplate togglebutton visualstates

我遇到了ControlTemplate我创建的ToggleButton的问题。

当按钮为Checked时,会触发ColorAnimation并且控件的背景会改变颜色。但是,如果用户进入MouseOver状态,则会触发另一个影响按钮背景的动画。

当鼠标不再处于MouseOver状态时,控件不会返回到处于Checked状态时应该处于的颜色。我不确定为什么在触发MouseOver状态时这种情况不会持续存在。

VisualStateManager的{​​{1}}部分看起来像这样:

ControlTemplate

1 个答案:

答案 0 :(得分:3)

我的问题解决方法是我创建了Grid,其中包含了Border

对于CommonStates我对Border.Background进行了动画更改,对于CheckedStates,我将动画更改为Grid.Background

它实现了我所寻找的视觉效果。