我将 ViewModel 绑定到 ContentControls 并让 Caliburn 负责创建和绑定视图。但是,我想根据我绑定到的 ContentControl 自定义 Caliburns ViewModel->View 约定。
例如,常规的 ContentControl,我想要绑定常规的 View(SomethingViewModel -> SomethingView)。但对于某个 ContentControl,我希望 Caliburn 获取名为 SomethingViewSpecial 的视图。那可能吗?
对的,这是可能的。
Use cal:View.Context
附加属性,然后为指定的上下文命名您的视图,例如YourNamespace.Something.ContextView
(从视图模型名称中删除“ViewModel”,添加一个点和 Context 属性的值)。
这样,您甚至可以将多个视图绑定到一个视图模型。
Example:
<ContentControl x:Name="Toolbar" cal:View.Model="{Binding ActiveItem}" cal:View.Context="Toolbar" />
你可以看到工作示例here http://coproject.codeplex.com/SourceControl/changeset/view/610e68f20ed0#src/Coproject/Coproject/Views/ToDoListsView.xaml (from 联合项目 http://coproject.codeplex.com/示例应用程序,part 9 http://baud.cz/blog/coproject-a-ria-caliburnmicro-demo-part-9).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)