我遇到了Catel问题,ViewModel被多次实例化。
这是我自己的问题的重复,但旧的问题是一个大墙的文本(没有帮助),现在我决定包括一个演示项目。
可以从这里下载演示项目: Demo-Project (VS2013)
以下是问题:
观察:订单的嵌套控件:" OrderViewModelID"是11 ... 20(实际上你看不到16 ... 20,忘了滚动查看器)
- >它应该是" 1 ... 10"因为它是Order创建的前10个ViewModel。
- >原因:OrderViewModel是每个模型实例化的多个时间
我已经在这个问题上花了很多时间,而我却找不到原因。
任何帮助/见解?
Johannes Colmsee
答案 0 :(得分:0)
这是一个错误。它已修复,请参阅issue report以获取最新信息。
顺便说一句。我真的建议你使用Catel.Fody,它会产生更清晰的视图模型。
答案 1 :(得分:-1)
我必须告诉你,Bug只是部分修复了。
我将突出显示仍然被打破的步骤:
打开一位客户(双击或选择"编辑")
观察:订单的嵌套控件:" OrderViewModelID"是11 ... 20(实际上你看不到16 ... 20,忘了滚动查看器)
- >它应该是" 1 ... 10"因为它是Order创建的前10个ViewModel。
- >原因:OrderViewModel是每个模型实例化的多个时间
- 点击"新托运人" (任何订单)
- "取消"新窗口
- 观察:" OrderViewModelID"现在是21 ...... 30(他们又被实例化了!!!)
更新
这是一个已修复的Catel 4.4中的错误。链接到Catel Issue Tracker Item