当前位置:编程学习 > wap >>

使用按钮行为,如何改变按钮背景色?

如题,把行为附加到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了,这样还麻烦 --------------------编程问答--------------------
引用 3 楼  的回复:
你直接用blend画一下就OK了,这样还麻烦


行为是可以重用的,并且有设计师就可以完成了 --------------------编程问答-------------------- Invoke这个函数注册给哪个事件了? --------------------编程问答-------------------- 使用自定义的样式就可以做到,可以任意更改按钮各个状态时的背景。
引用 2 楼  的回复:
难道是因为这个?

备注

--------------------------------------------------------------------------------


 
Background 属性仅适用于控件的休眠状态。控件的默认样式指定当控件的状态发生更改时的外观。例如,如果在 Button 上设置 Background 属性,则此按钮仅在未被按下或……
补充:移动开发 ,  Windows Phone
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,