【发布时间】:2017-08-25 08:27:41
【问题描述】:
我正在开发一个相当大的软件,其中包含 100 多个对话框。我们正在考虑 MVVM 灯,但我刚刚阅读了一篇旧文章,其中指出“所有 ViewModel 都保留在内存中,直到调用 cleaup”。 所以我的问题:
- 这是否意味着在加载时它将加载程序中的所有 ViewModel?
- 如果默认加载全部,我可以将其更改为仅在打开对话框时加载/实例化 ViewModel 吗?
文章是Abkürzung zum ViewModel。抱歉,这是 2008 年的德语版本,您需要注册才能阅读。但我的问题只是关于那句话,所以你可以忽略它。
我已阅读this question,它提供了很多信息,但我并没有真正找到我的问题的答案。
【问题讨论】:
-
不,它不会加载程序中的所有ViewModel
-
AFAIK,ViewModel 被延迟加载。但是一旦加载,它们会一直保留到清理完毕。
-
我认为一个简单的实验,只需不到一个小时的编码,就可以证明这一点。
-
它是开源的。看看源代码,你就会知道幕后发生了什么
标签: c# mvvm mvvm-light