我正在开发Windows Phone 8应用程序,我有两个按钮。一旦我点击第一个,它的颜色就会改变,但当我点击第二个颜色并且它的颜色也改变了,第一个按钮的颜色也没有设置为默认颜色。我无法从第二个按钮的点击事件中访问第一个按钮。如何突出显示一个按钮,并在单击时将另一个按钮的颜色设置为默认值?
编辑:在这里,我无法访问第一个事件处理程序中的第二个按钮。
private void firstButton_Click(object sender, RoutedEventArgs e)
{
(sender as Button).Background = new SolidColorBrush(Colors.Green);
}
private void secondButton_Click(object sender, RoutedEventArgs e)
{
(sender as Button).Background = new SolidColorBrush(Colors.Green);
}
答案 0 :(得分:1)
为什么不能从第二个按钮访问第一个按钮?通常你可以做类似的事情:
private void firstButton_Click(object sender, RoutedEventArgs e)
{
(sender as Button).Background = new SolidColorBrush(Colors.Green);
secondButton.Background = new SolidColorBrush(Colors.LightGray);
}
private void secondButton_Click(object sender, RoutedEventArgs e)
{
(sender as Button).Background = new SolidColorBrush(Colors.Green);
firstButton.Background = new SolidColorBrush(Colors.LightGray);
}
对于可重用性,可能会把它放在一个方法中:
private void SetButtonColor(Button toDefaultColor, Button toGreenColor)
{
toGreenColor.Background = new SolidColorBrush(Colors.Green);
toDefaultColor.Background = new SolidColorBrush(Colors.LightGray);
}
private void secondButton_Click(object sender, RoutedEventArgs e)
{
SetButtonColor(firstButton, (sender as Button));
}