我将ViewModels绑定到ContentControls并让Caliburn负责创建和绑定视图.但是,我想根据我绑定的ContentControl自定义Caliburns ViewModel-> View约定.
例如,一个常规的ContentControl,我希望常规View绑定(SomethingViewModel - > SomethingView).但对于某个ContentControl,我希望Caliburn获取一个名为SomethingViewSpecial的View.那可能吗?
giu*_*ius 36
对的,这是可能的.
使用cal:View.Context附加属性,然后命名您的视图类的指定范围内YourNamespace.Something.ContextView(从您的视图模型名称中删除"视图模型",加一个点,Context属性的值).
通过这种方式,您甚至可以将多个视图绑定到一个视图模型.
例:
<ContentControl x:Name="Toolbar" cal:View.Model="{Binding ActiveItem}" cal:View.Context="Toolbar" />
Run Code Online (Sandbox Code Playgroud)
您可以在此处查看工作示例(来自CoProject示例应用程序,第9部分).
| 归档时间: |
|
| 查看次数: |
12083 次 |
| 最近记录: |