MVVMCross通知ViewModel Model属性的变化



我对MVVM模式不熟悉,因此对MVVMCross不熟悉。但是我似乎无法弄清楚如何通知ViewModel更改模型的属性。也许我对模式的理解是错误的,并且使用了错误的体系结构?

这是我的Model类:

public class WallModel: MvxNotifyPropertyChanged
{
private double _oc;
public double oc
{
get { return _oc; }
set 
{
_oc = value;
RaisePropertyChanged(() => oc);
}
}
}

在我的ViewModel中,我有WallModel类的以下属性:

private WallModel _wallModel = new WallModel();
public WallModel wallModel
{
get { return _wallModel; }
set 
{ 
SetProperty(ref _wallModel, value);
}
}

我可以从模型中检索数据,所以问题不在于绑定。

当前发生的情况是,模型中oc属性的set正在触发,但ViewModels的set没有被触发。

我希望发生的是RaisePropertyChanged(() => oc);会导致viewmodulesset着火,但它没有。

RaisePropertyChanged(() => oc);做什么?我是否误解了MVVM模型,我是否应该更改我的架构?**我怎样才能得到想要的行为?

我已经尝试手动实现INotifyPropertyChanged,但这并不wprk

RaisePropertyChanged(() => oc);的作用是只通知WallModel的属性oc改变。同时,ViewModel上的WallModel仍然持有WallModel的相同对象,因此它假设没有任何变化。

尝试按照此指南获得通知。

最新更新