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