我目前正在Caliburn.Micro中试验视图合成.我有一个工作示例,我通过"View.Model"附加属性路由将多个基于用户控件的视图注入到我的主shell中.到现在为止还挺好.
在我的应用程序中,我正在使用主要是WinForms和一些WPF的混合环境,因此没有用于Caliburn管理的WPF"shell".我希望能够按需创建我的视图,并将它们添加到我的WinForms应用程序中的占位符.
我想知道如何使用Caliburn以编程方式创建视图(将是包含子用户控件的用户控件),以便执行所有约定,模型绑定和子视图注入.
Tim*_*oyd 14
ViewModelBinder一旦有了视图实例和相应的视图模型,Caliburn 就可以用来启动手柄.调用Bind解析注入的视图并应用基于约定的绑定等:
SomeCompositionView view = new SomeCompositionView();
ISomeCompositionViewModel viewModel = IoC.Get<ISomeCompositionViewModel>();
ViewModelBinder.Bind(viewModel, view, null);
ElementHost.Child = view;
Run Code Online (Sandbox Code Playgroud)
xme*_*eko 12
代码片段来自BootstrapperBase.DisplayRootViewFor:
var viewModel = IoC.GetInstance(viewModelType, null);
var view = ViewLocator.LocateForModel(viewModel, null, null);
ViewModelBinder.Bind(viewModel, view, null);
var activator = viewModel as IActivate;
if(activator != null)
activator.Activate();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6124 次 |
| 最近记录: |