我想更改WP7中许多按钮的属性Background
。
我能写这样的东西:
Foreach (var item in (this.Content as Panel).Children)
{
If (Element is Button)
{
Element.Background = Color.red;
}
}
但这不起作用, Element.Background不存在......
任何人都知道如何解决它???
答案 0 :(得分:2)
试试这个
//to be on the safe side first check
if(this.Content == null || !(this.Content is Panel)
return;
foreach (var item in (this.Content as Panel).Children)
{
if (item is Button)
{
Button b = item as Button;
b.Background = new SolidColorBrush(Colors.Red);
}
}
答案 1 :(得分:0)
你能用
试试吗?Element.BackColor = Color.Red
而不是
Element.Background = Color.Red
答案 2 :(得分:0)
尝试将其BackColor属性绑定到某个东西,而不是循环遍历控件,它是一个实现INotifyPropertyChanged的类,其属性返回SolidColorBrush,另一个控件的BackColor属性,或者您选择绑定的任何内容。这可以在silverlight中完成,而无需循环控制。让系统管理控件外观,而不是自己编写。