在我的 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 都可以访问的通用属性呢?
谢谢