Mvvm Caliburn.Micro 2.0和IViewAware实现问题
这个问题可能只能由CM贡献者来回答Mvvm Caliburn.Micro 2.0和IViewAware实现问题,mvvm,caliburn.micro,Mvvm,Caliburn.micro,这个问题可能只能由CM贡献者来回答 ViewAware是IViewAware的基本实现,它使用内部实用程序类WeakValueDictionary来缓存视图。IViewAware的外部实现者无法访问此类 CM 1.5.x依赖于字典实现缓存 在代码中,我看不到CM 2.0中有任何依赖项,在实现IViewAware时需要使用WeakValueDictionary 我只是想确保我没有错过一些微妙的东西?在实现IViewAware时,我必须使用WeakValueDictionary,还是Dictiona
ViewAware
是IViewAware
的基本实现,它使用内部实用程序类WeakValueDictionary
来缓存视图。IViewAware
的外部实现者无法访问此类
CM 1.5.x依赖于字典
实现缓存
在代码中,我看不到CM 2.0中有任何依赖项,在实现IViewAware
时需要使用WeakValueDictionary
我只是想确保我没有错过一些微妙的东西?在实现IViewAware
时,我必须使用WeakValueDictionary
,还是Dictionary
仍然足够?Dictionary
可以,只要您努力管理视图IViewAware
无法清除视图。在内置类屏幕中
在停用
时清理视图,只要您将视图模型组合在一起,就应该这样做
使用WeakValueDictionary
给了我们一些回旋空间,这意味着我们不再保留不再使用的视图
我们当然可以考虑使用<代码> WeakValueDictionary <代码>来帮助解决这个问题。
我相信这是VisualCaseCin的结果,并且能够在某些用例中禁用它,以及在其他平台(WP/Silverlight)中与WeakValueDirectionary一起使用的可用性。在旧的codeplex网站上有一个相当长的讨论主题。他们希望有一些东西可以防止内存泄漏的可能性。打开和关闭了一张票据,其中包含与变更相关的细节,并将其纳入了CM2.0。请欣赏上下文。难道你不知道在实现ivieware时是否还可以使用字典吗?