【问题标题】:Different View depending on ContentControl (Caliburn.Micro)取决于 ContentControl (Caliburn.Micro) 的不同视图
【发布时间】:2011-11-03 15:28:27
【问题描述】:

我将 ViewModels 绑定到 ContentControls 并让 Caliburn 负责创建和绑定视图。但是,我想根据我绑定的 ContentControl 自定义 Caliburns ViewModel->View 约定。

比如一个常规的ContentControl,我想绑定常规的View(SomethingViewModel->SomethingView)。但是对于某个 ContentControl,我希望 Caliburn 获取一个名为SomethingViewSpecial 的视图。这可能吗?

【问题讨论】:

    标签: caliburn.micro


    【解决方案1】:

    是的,这是可能的。

    使用 cal:View.Context 附加属性,然后为指定的上下文命名您的视图,例如 YourNamespace.Something.ContextView(从您的视图模型名称中删除“ViewModel”,添加一个点和 Context 属性的值)。

    这样,您甚至可以将多个视图绑定到一个视图模型。

    例子:

    <ContentControl x:Name="Toolbar" cal:View.Model="{Binding ActiveItem}" cal:View.Context="Toolbar" />
    

    您可以查看工作示例 here(来自 CoProject 示例应用程序,part 9)。

    【讨论】:

    • 感谢您的回答,对我的项目很有帮助。
    猜你喜欢
    • 2011-10-17
    • 2019-03-20
    • 1970-01-01
    • 1970-01-01
    • 2013-01-20
    • 1970-01-01
    • 2016-12-15
    • 2014-02-26
    • 1970-01-01
    相关资源
    最近更新 更多