2010-09-08 37 views

回答

5

背景不是一种颜色,而是一个画笔,这就是为什么它不能用ColorAnimation直接动画。请尝试以下操作。

<ColorAnimation 
    Storyboard.TargetName="btnRemoveBorder" 
    Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)" 
    To="#FFDEBA29" 
    Duration="0" /> 

关于VisualStateManager问题,来自每个状态组的一个状态可以是活动的。例如,在Button的情况下,它可以处于聚焦状态和按下状态。出于这个原因,你应该尝试设计你的状态和控制模板,这样不依赖于哪个状态首先变为活动状态。通常这意味着你不应该在两个不同的状态组中动画相同的元素/属性。但从技术上讲,没有什么能够阻止你这样做。无论控制状态如何(使用VisualStateManager.GoToState方法)都将优先。

+0

伟大的第一个答案!对于第二个问题,我试图让选定的状态不受悬停状态的影响(两者都很常用,通常也是不同的)。在这里思考CSS会很容易......但是如何在xaml中做到这一点? – bcm 2010-09-08 02:21:08

+0

我们在谈论什么控制? – Josh 2010-09-08 02:29:24

+0

边界控制。我想选定的状态是固定的,不能从悬停... – bcm 2010-09-08 02:39:07