silverlight怎么取按扭的背景色,以及怎么设置按钮的背景色 有这么个需求 点这个按钮时判断

如果这个按颜色是默认的背景色,就把这个背景色变成红色否则//也就是这个背景色是红色了就把这个按钮的背景色再变回默认的颜色我在C#里是这样写的privatevoidbutt... 如果这个按颜色是默认的背景色,
就把这个背景色变成红色
否则 //也就是这个背景色是红色了
就把这个按钮的背景色再变回默认的颜色
我在C#里是这样写的
private void button1_Click(object sender, EventArgs e)
{
if ((sender as Button).BackColor==DefaultBackColor)
{
(sender as Button).BackColor = Color.Red;
}
else
{
(sender as Button).BackColor = DefaultBackColor;
}
}
C#里这代码是可以运行的,也能达到我的要求,可在WPF里就搞不定了。
小弟刚刚转入WPF,请达人多多帮忙了,谢谢了!
展开
 我来答
lwd6808
2012-01-14 · TA获得超过115个赞
知道小有建树答主
回答量:128
采纳率:100%
帮助的人:134万
展开全部
不能用BackColor,而是BackGround;也不能直接用Color,而是用SolidBrush。
(sender as Button).BackColor = Color.Red;改为
(sender as Button).Background = new SolidColorBrush(Color.FromRgb(255, 0, 0));
追问
感谢您的回答,测试好像没有通过,可以做个页面把代码测试下吗,谢谢,还有,if(点击的按钮背景色==默认背景色),那里的判断,我应该怎么写呢?
追答
SolidColorBrush brush;  //这个类级别的变量保存按钮的默认笔刷
public Window1()
{
InitializeComponent();
}

private void button1_Click(object sender, RoutedEventArgs e)
{
if (((Button)sender as Button).Background == brush)
(sender as Button).Background = new SolidColorBrush(Color.FromRgb(255, 0, 0));
else
(sender as Button).Background = brush;

}

private void Grid_Loaded(object sender, RoutedEventArgs e)
{
brush = button1.Background as SolidColorBrush;
}
Dwain_Li
2012-01-15 · 超过20用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:46万
展开全部
不建议你这么写,你可以用blend直接定义模板或动画storybord,与button绑定,这样都不用写代码。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
尉迟丶九方
2012-01-20 · TA获得超过148个赞
知道小有建树答主
回答量:158
采纳率:0%
帮助的人:187万
展开全部
极力推荐使用Blend来制定动画方案,然后在该Button上绑定动画或样式资源即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式