2013-12-22 69 views
0

谁能帮助我要在Windows Phone 8的变化所有文本框背景色单一的点击功能在形式我有那么多50个文本框。我可以像 这样的代码textbox.BorderBrush = new SolidColorBrush(Windows.UI.Colors.Red);更改背景颜色8

textbox1.Background = new SolidColorBrush(Colors.Red); 
textbox2.Background = new SolidColorBrush(Colors.Red); 
textbox3.Background = new SolidColorBrush(Colors.Red); 
textbox4.Background = new SolidColorBrush(Colors.Red); 
textbox5.Background = new SolidColorBrush(Colors.Red); 

高达

textbox50.Background = new SolidColorBrush(Colors.Red); 

但我需要的有效途径。

回答

1

有和往常一样的方法来做到这一点。假设所有的文本框都是一个像StackPanel或Grid的cotainer的子节点。最简单的方法是遍历容器孩子:

foreach (var elem in container.Children) 
{ 
    if (elem is TextBox) 
    { 
     (elem as TextBox).Background = new SolidColorBrush(Colors.Red); 
    } 
} 

在我opionion一个更好的办法是使用MVVM和背景属性绑定到你的ViewModel某些属性。如果将属性更改为红色,则所有文本框将自动注册更改

+0

如何使用此椭圆控件 –

+0

同样的方法,只需为椭圆添加单独的同样的方法 –

+0

我已为椭圆添加了'使用System.Windows.Shapes;' –