WPF MVVM Stylet使用文档(中文)03-Bootstrapper
简介
引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel 的新实例,并使用 WindowManager 显示它。
它还提供了其他各种功能,如下所述。
引导程序有两种形式:
BootstrapperBase<TRootViewModel>
,这种需要您自己配置 IoC 容器;Bootstrapper <TRootViewModel>
,使用 Stylet 的内置 IoC 容器 StyletIoC。
示例 Bootstrapper,使用 StyletIoC:
1 | class Bootstrapper : Bootstrapper<MyRootViewModel> |
使用自定义的 IoC 容器(Using a Custom IoC Container)
使用带有 Stylet 的另一个 IoC 容器很容易。我在 Bootstrappers project 中包含了许多流行的 IoC 容器的bootstrappers。这些都是经过单元测试而非实战测试的: 您可以随意定制它们。
注意,Stylet nuget package/dll 不包括这些,因为它会添加不必要的依赖。同样,我也不会发布特定的 IoC 容器的包,因为这是一种浪费。
将您想要的引导程序从上面的链接复制到您的项目中。然后子类化它,就像您通常子类化Bootstrapper<TRootViewModel>
,上面有文档说明。然后将子类添加到
App.xaml.cs 中。正如 Quick Start 中说明的那样。
1 | public class Bootstrapper : AutofacBootstrapper<ShellViewModel> |
1 | <Application x:Class="Stylet.Samples.Hello.App" |
如果您想为另一个 IoC 容器编写自己的引导程序,这也很容易。看看上面的描述,看看需要做什么。
向 App.xmal 添加资源字典(Adding Resource Dictionaries to App,xmal)
s:ApplicationLoader
本身就是一个
ResourceDictionary。如果你需要将自己的资源字典添加到 App.xaml
中,你需要将s:ApplicationLoader
嵌入到你的
ResourceDictionary 中作为一个合并字典,就像这样:
1 | <Application.Resources> |