Caliburn.Micro 我应该为父视图使用 Screen 还是 Conductor.AllActive

Caliburn.Micro should I use Screen or Conductor.AllActive for my parent view

我有一个父级 view/viewmodel,它有几个绑定到其他视图模型的 ContentControl。考虑下图

我们认为当父 window 被销毁时我们的应用程序面临内存泄漏,因为内存未被释放,我们怀疑 "child" 视图没有与父视图一起销毁。这可能是原因吗?父项应该是 Conductor.AllActive 类型并明确停用项目还是 Screen 就足够了?

我会使用 Conductor.AllActive,否则无法正确观察子屏幕的生命周期。您可能会发现子屏幕未正确激活。使用 Conductor.AllActive 是否会修复内存泄漏,我不知道。很容易发现,不管它是否有效,我仍然会使用 Conductor.AllActive 你的场景正是它设计的场景。