我创建了一个 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;
}
但在运行时,我选择了绿色形式颜色更改为红色而不是绿色。
那是因为color.Text
不等于"green"
?
尝试使用 (string)color.SelectedValue
。
哦 - @Fuex指出(尽管假设您在 Windows 窗体上,而实际上您在 WPF 上) - 您不使用 Click
事件 - 因为不会进行任何选择。
您需要使用 SelectionChanged
事件。
将逻辑移动到该处理程序后,还应该能够返回到使用.Text