如何使用CaliburnMicro在Shell的不同ContentControl中加载控件

Oty*_*yce 6 controls contentcontrol caliburn.micro

默认情况下,当您使用"ActivateItem(new Control());"时 例如,您的控件被加载到名为ActiveItem的ContentControl中..如果我的页面上有多个内容控件,我将如何在其中加载控件,同时保留使用能够将控件加载到活动项控件的默认功能的功能.

例如,我希望将登录控件加载到Login ContentControl中,当用户成功登录时,我希望将新控件加载到ActiveItem ContentControl中.

Thanx提前.

Cha*_*ani 6

如果绑定到UI的ViewModel包含名称与内容控件匹配的属性.如果此属性本身是ViewModel类型并已使用Ioc容器注册,则Content控件视图会自动解析此属性支持的视图.例如

<ContentControl x:Name="LoginStatus"></ContentControl>
Run Code Online (Sandbox Code Playgroud)

如果主ViewModel上有一个属性LoginStatus(LoginStatus属性本身就是一个ViewModel).内容控件将使用适当的视图正确呈现.


Fel*_*ano 0

你应该看看屏幕导体。看这里