0

我创建了一个 C# / WPF 应用程序,我想在运行时更改 WPF 表单的颜色,根据条件任务是如果用户选择红色表单更改为红色,如果用户选择绿色表单颜色变为绿色

用户在组合框中选择颜色(红色,绿色),我在组合框单击事件代码中编写代码,例如

if ( color.Text== "green")
{
   SolidColorBrush bg = new SolidColorBrush(Colors.green);
   g.Background = bg;   //g is stack panel name 
}
else
{
   SolidColorBrush bg = new SolidColorBrush(Colors.red);
   g.Background = bg;
}  

但在运行时,我选择了绿色,颜色变为红色而不是绿色。

4

1 回答 1

1

那是因为color.Text不等于"green"

尝试使用(string)color.SelectedValue.

哦-@Fuex 指出(尽管假设您使用的是 Windows 窗体,但实际上您使用的是 WPF)-您不使用该Click事件-因为不会进行任何选择。

您需要使用该SelectionChanged事件。

将逻辑移至该处理程序后,您还应该能够返回使用.Text

于 2012-11-19T09:28:39.277 回答