Caliburn.Micro:如何将导体<iscreen>更改为导体<iscreen> .Collection.OneActive </iscreen> </iscreen>

时间:2013-04-23 00:03:45

标签: wpf silverlight caliburn.micro

我有一个主视图模型,它在应用程序中是Conductor<IScreen>,它似乎工作正常。相应的视图有一个名为ActiveItem的ContentControl,它显示了我可以在viewmodel上使用ActivateItem激活的ActiveItem。

但我想将其更改为Conductor<IScreen>.Collection.OneActive。我认为在基本级别,这将是一个将我的viewmodel更改为:

的简单案例
public class MyViewModel : Conductor<IScreen>.Collection.OneActive

但这似乎打破了视图中的元素(它们只是不显示)任何人都可以在高层解释是否还有其他步骤我可能需要对此进行测试?或者更改为Conductor的Collection实现的效果可能会破坏我视图中的其他UI元素?

1 个答案:

答案 0 :(得分:3)

答案最后相当简单:

导体的集合实现添加的主要内容是Items属性。事实证明我的视图中有一个UI元素也称为Items,所以我猜Caliburn.Micro会自动将它绑定到视图中的Items元素,导致奇怪的事情发生。重命名UI元素解决了这个问题。