绑定到WPF中静态类中的静态属性

我有来自静态类的静态属性的绑定值的问题。

我的课:

namespace MyNamespace.Data { public static class MySettings { public static Color BackgroundColor { get; set; } public static Color FontColor { get; set; } } } 

XAML:

  ... 

当我运行此代码后,后台设置正常,但其余部分保持不变..

问题是您的源属性是Color类型,目标属性是Brush 。 您可以使用您的颜色创建SolidColorBrush如下所示:

  

您不需要使用static属性…您可以使用Singleton模式声明一个类,因此只能有一个实例, 就像 static类一样。 只需在此类中使用普通的public CLR属性……类似这样(但具有属性):

 public class StateManager : INotifyPropertyChanged { private static StateManager instance; private StateManager() { } public StateManager Instance { get { return instance ?? (instance = new StateManager()); } } ... } 

然后只使用Instance属性从基础视图模型引用它,如下所示:

 public StateManager StateManager { get { return StateManager.Instance; } } 

然后您可以简单地访问UI中的属性,例如::