【发布时间】:2016-01-13 09:30:25
【问题描述】:
首先我想说的是,我对 Binding 很陌生。我已经在 WPF 中做过一些事情,但我从未使用过绑定,因为概念对我来说有点难以理解。即使是我现在正在做的事情,也是我设法从一个我不完全理解的教程中挽救出来的。
在我的应用程序中,我有一个具有静态属性的静态类,并且有一个静态方法可以更改这些静态属性。
例子:
public static class AppStyle
{
public static SolidColorBrush property = Brushes.Red;
public static void ChangeTheme()
{
property = Brushes.Blue;
}
}
在 XAML 中,我有一个控件,它的背景绑定到该值。我什至正确地声明了命名空间。
...
xmlns:style="clr-namespace:CorrectNamespace;assembly=RightAssembly"
...
<TextBox x:Name="TXT_PN"
Background="{Binding Source={x:Static style:AppStyle.property}}"
TextChanged="TXT_PN_TextChanged"
Text="Text"/>
当应用程序加载时,它将加载正确的设置(红色),但是当事情发生变化并调用 ChangeTheme() 时,静态类将获得新值,但文本框的背景不会改变。 我在这里做错了什么?正如我所说,我对此很陌生,我会很感激外行的解决方案。
谢谢!
【问题讨论】: