我创建了一个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;
}
但在运行时我选择绿色表格颜色变为红色而不是绿色。
答案 0 :(得分:1)
那是因为color.Text
不等于"green"
?
尝试使用(string)color.SelectedValue
。
哦 - 和@Fuex指出(虽然假设您使用的是Windows Forms,但实际上您使用的是WPF) - 您不使用Click
事件 - 因为不会进行任何选择。< / p>
您需要使用SelectionChanged
事件。
将逻辑移动到该处理程序后,您还应该能够回到使用.Text