如何正确安排MVVM中GUI和Model之间的通知机制?

时间:2017-07-27 14:40:33

标签: c# mvvm

我在MVVM项目中面临以下问题。我有ViewModel对象,当从GUI更新属性时,该对象会通知模型。

这工作正常,但在此之后我花了更新模型programmaly中的属性并相应地刷新GUI。 因此我在VIewModel通知模型中添加了事件属性,并被吊死了应用程序..因为我得到了下一个循环:model - > viewmodel - > GUI - > ViewModel - >模特..等等。

我可以使用以下方式解决问题:

1)在模型中创建两个不同的方法:从GUI更新属性和以程序方式更新。

2)在模型中执行验证(通过反射) - 哪个对象调用该方法,然后再进行通知。

我在这个问题上的问题..谢谢!

1 个答案:

答案 0 :(得分:0)

最简单的方法和我在这些情况下最常见的是,如果属性值实际发生变化,即仅将新值与当前值进行比较,则仅引发事件(INotifyPropertyChanged)。

我也有兴趣知道你使用了什么框架 - 听起来你手动做了很多事情,这通常是由MVVM框架处理的,所以你不必担心像这样的小细节?