我有一个WPF应用程序,我想根据用户在运行时的选择修改UI的背景颜色。
现在,我想创建一个按钮,每次单击时都会更改颜色,因此此按钮必须更改XAML标记中的值
请帮助我这样做,我需要它 谢谢
答案 0 :(得分:4)
通过代码使控件变为红色:
yourControl.Background = Brushes.Red;
答案 1 :(得分:3)
另一种选择是将背景颜色绑定到数据上下文的某个属性(如果您使用的是MVVM,则可能是ViewModel)并使按钮单击更改该属性 - 可能间接通过命令。
它们只是不同的方法 - 直接设置背景颜色肯定是更简单而不是通过绑定,但它可能不太容易测试。
答案 2 :(得分:3)
另一种选择是将背景颜色绑定到DataContext中的属性,并在单击按钮时仅更新属性的值。这样,您还可以将逻辑和显示职责分开。
答案 3 :(得分:0)
简单地说。 XAML和C#之间没有区别。最后它们都产生相同的可执行代码。
要在GUI上更改属性,您应该通过x:Name属性命名控件,然后在后端代码文件中设置属性。或者,您可以将属性DataBind绑定到某个支持字段,最好使用MVVM模式。
但是在转向MVVM等更高级的主题之前,你应该先了解WPF的工作原理(ESPECIALY DataBinding)。