使用按钮行为,如何改变按钮背景色?
如题,把行为附加到button上,Background 一直也不等于 sb1 ,每次好像都被重置了。为什么呢?public class ToggleDropShadowAction :TriggerAction<Button>
{
protected override void Invoke(object parameter)
{
Brush sb1 =(Brush) new SolidColorBrush(Color.FromArgb(100, 0, 0, 255));
Brush sb2 =(Brush) new SolidColorBrush(Color.FromArgb(100, 255, 0,0));
if (this.AssociatedObject.Background == sb1)
this.AssociatedObject.Background = sb2;
else
this.AssociatedObject.Background = sb1;
}
}
--------------------编程问答-------------------- 用animation可能更容易,你用blend画一下就行 --------------------编程问答-------------------- 难道是因为这个?
备注
--------------------------------------------------------------------------------
Background 属性仅适用于控件的休眠状态。控件的默认样式指定当控件的状态发生更改时的外观。例如,如果在 Button 上设置 Background 属性,则此按钮仅在未被按下或禁用时具有该值。如果要创建具有更高级的背景自定义项的控件,必须定义控件的样式。
此属性仅影响其模板使用 Background 属性作为参数的控件。对于其他控件,此属性不会产生任何影响。
--------------------编程问答-------------------- 你直接用blend画一下就OK了,这样还麻烦 --------------------编程问答--------------------
行为是可以重用的,并且有设计师就可以完成了 --------------------编程问答-------------------- Invoke这个函数注册给哪个事件了? --------------------编程问答-------------------- 使用自定义的样式就可以做到,可以任意更改按钮各个状态时的背景。
补充:移动开发 , Windows Phone