我正在使用 Prism 6 构建一个应用程序,但我对 MVVM、数据绑定和所有这些设计模式都是新手。在应用程序中,我需要根据我的视图模型的某些属性的值显示不同的颜色。
为此,我在资源字典中有一些 SolidColorBrush,如下所示:<SolidColorBrush x:Key="{x:Static status:Status.notViewed}">#FFe74856</SolidColorBrush>
然后在我看来,我使用:prism:ViewModelLocator.AutoWireViewModel="True"
将其连接到相应的视图模型。我还在画布上使用绑定(但可以是网格或其他任何东西,我并不在意),如下所示<Canvas Background="{Binding B}" Margin="5" />
:作为旁注,我将其他元素绑定到其他属性,例如绑定到字符串以显示日期的文本块,并且效果很好。
现在,在我的视图模型中,我B
为 binding创建了相应的属性public SolidColorBrush B = (SolidColorBrush)Application.Current.Resources[Status.notViewed];
。
当我运行我的应用程序时,画布保持白色......但是我很确定它B
包含画笔,因为我在视图模型的构造函数中输出了它的内容(Console.WriteLine("Color: {0}", B.ToString());
0 并且我得到了正确的值。
我究竟做错了什么?
谢谢