我目前正在Caliburn.Micro中尝试使用 View 合成。我有一个工作示例,其中通过“View.Model”附加属性路由将多个基于用户控件的 View 注入(inject)到主 shell 中。到现在为止还挺好。

在我的应用程序中,我正在使用主要是WinForms和某些WPF的混合环境,因此没有Caliburn要管理的WPF“ shell ”。我希望能够按需创建 View 并将其添加到WinForms应用程序中的占位符中。

我想知道如何使用Caliburn以编程方式创建 View (将是包含子用户控件的用户控件),以便执行所有约定,模型绑定(bind)和 subview 注入(inject)。

最佳答案

一旦有了 View 实例和相应的 View 模型,就可以使用Caliburn ViewModelBinder摇柄。调用Bind可以解析注入(inject)的 View 并应用基于约定的绑定(bind)等:

    SomeCompositionView view = new SomeCompositionView();

    ISomeCompositionViewModel viewModel = IoC.Get<ISomeCompositionViewModel>();

    ViewModelBinder.Bind(viewModel, view, null);

    ElementHost.Child = view;

关于Caliburn.Micro:以编程方式创建和绑定(bind) View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6333032/

10-12 20:45