WPF Caliburn 学习笔记(三)Application Model

CaliburnApplication

配置一:

在前面,我们配置Caliburn容器时,是在App.xaml.cs中加了下面段代码:

CaliburnFramework
    .ConfigureCore()
    .WithPresentationFramework()
    .Start();

配置二:

还有一种配置,使用Caliburn基类来配置,要修改的地方有App.xaml.cs和App.xaml
public partial class App : CaliburnApplication
{
    public App()
    {
        InitializeComponent();
    }
}
<cal:CaliburnApplication x:Class="YourProjectName.App"
                     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                     xmlns:cal="http://www.caliburnproject.org">
</cal:CaliburnApplication>
这种效果相当于我们第一种的配置。
Caliburn基类的配置可以保证我们能够正确运行。但如果我们要实现自定义配置的话。也许要重写下面几个方法:

CreateContainer
允许开发人员指定自己的IoC容器和配置合理。

SelectAssemblies
允许开发人员告诉Caliburn选择哪些程序集组件,视图,命令等

ConfigurePresentationFramework
使开发人员自定义常见的框架服务。

ConfigureCaliburn
使开发人员可以用自己的配置容器Caliburn的组成部分。 这仅仅是必要的,如果不实现容器适配器IConfigurator。

Caliburn一些接口:

IPresenter Component Model页面中介绍了一些接口和实现这些接口的类。

角色                                             接口            实现接口的类

Screen Activator(激活屏幕) |  IPresenter  | Presenter

Screen Conductor(屏幕导航) |  IPresenterManager, INavigator    |   PresenterManager, Navigator

Screen Collection(收集屏幕信息) | IPresenterHost  | MultiPresenterManager, MultiPresenter

Application Controller(应用程序容器) |  IPresenterHost, IPresenterManager, INavigator  |  PresenterManager, Navigator, MultiPresenterManager, MultiPresenter

未完成

在Caliburn Application Model中有好多接口和策略模式,要结合LOB Samples这个实例看才可以。

原文地址:https://www.cnblogs.com/dingli/p/1987652.html