我在MVVM项目中遇到了以下问题。我有ViewModel对象,当他从GUI更新属性时,该对象具有事件通知模型。
这是正常工作的,但在此之后,我需要以编程方式更新模型中的属性并相应地刷新 GUI。 因此,我在模型中为VIewModel通知添加了事件属性,并获得了挂起的应用程序。因为我得到了下一个循环:模型 ->视图模型 -> GUI -> 视图模型 ->模型..等。
我可以使用以下方法来解决:
1( 在模型中创建两种不同的方法:从 GUI 更新属性和更新编程。
2(在模型中执行验证(通过反射(-哪个对象调用该方法,稍后要做通知或不通知。
我在主题中的问题..谢谢!
最简单的方法,也是我在这些情况下最常看到的,是只在属性值实际更改时才引发事件(INotifyPropertyChanged(,即将新值与当前值进行比较。
我也有兴趣知道你使用什么框架 - 听起来你正在手动做很多事情,这些事情通常由MVVM框架处理,所以你不需要担心这样的小细节?