【发布时间】:2013-01-24 10:59:25
【问题描述】:
在我的 MainViewModel 上,我有一个如下所示的属性:
private bool _IsSkinNight = true;
public bool IsSkinNight
{
get { return _IsSkinNight; }
set
{
_IsSkinNight = value;
RaisePropertyChanged("IsSkinNight");
RaisePropertyChanged("WindowBackColor");
RaisePropertyChanged("StyleImage");
}
}
如您所见,我使用这一属性来提升其他属性。它使更改 UI 变得更加容易。尤其是当我要向它添加更多项目时。
但是,我在 WPF 页面上有一个属性也需要更新。但由于它在不同的页面上,它的 ViewModel 也是独立的。所以这个属性不能对其调用 RaisePropertyChanged 并且页面中的属性不能检查 IsSkinNight 的状态。
那么在不同的 ViewModel 之间交叉的最佳方式是什么?我将添加更多页面。那么有没有办法让所有 ViewModel 都可以访问的通用属性?
谢谢
【问题讨论】:
标签: wpf xaml mvvm properties