我在MVVM项目中面临以下问题。我有ViewModel对象,当从GUI更新属性时,该对象会通知模型。
这工作正常,但在此之后我花了更新模型programmaly中的属性并相应地刷新GUI。 因此我在VIewModel通知模型中添加了事件属性,并被吊死了应用程序..因为我得到了下一个循环:model - > viewmodel - > GUI - > ViewModel - >模特..等等。
我可以使用以下方式解决问题:
1)在模型中创建两个不同的方法:从GUI更新属性和以程序方式更新。
2)在模型中执行验证(通过反射) - 哪个对象调用该方法,然后再进行通知。
我在这个问题上的问题..谢谢!
答案 0 :(得分:0)
最简单的方法和我在这些情况下最常见的是,如果属性值实际发生变化,即仅将新值与当前值进行比较,则仅引发事件(INotifyPropertyChanged)。
我也有兴趣知道你使用了什么框架 - 听起来你手动做了很多事情,这通常是由MVVM框架处理的,所以你不必担心像这样的小细节?