我不希望得到任何答案,但我会尽量说清楚。
我试过Caliburn Micro。起初它似乎很好,我所需要的。有些功能是的,但其他的不是。
我想要的只是一个窗口,其中包含一些视图作为用户控件和每个视图的多个对话框。使用导体。OneActive我可以轻松实现第一个。然而,即使查看示例,在视图之间切换也是将 Parent 转换为 Conductor 并在那里调用方法。
甚至 caliburn micro 的例子也是这样铸造的。在屏幕上调用 .close(false) 与 close(true) 相同,导致终止视图并重新创建导致最低端 atom pc 的滞后。所以唯一的解决方案是投给父母。
对话框
我尝试了大量的对话框示例,但没有成功,让我的生活变得艰难。消息框等很容易,但如果你想要多个对话框,你就很不走运了。如果您将代码置于关闭回调以打开另一个对话框,您会得到额外的 stackoverflow 异常,因为它会变得混乱。(无限循环)。我可以想出一个很好的对话框,它可以缓存视图,同时有效地显示多个对话框。
事件聚合 器我也无法弄清楚事件聚合器如何适合切换视图。如果您有多个导体,则管理起来可能很麻烦。