Castle Windsor是.net 平臺下著名的IoC框架, WPF中使用非常方便。
-
建立一個空的WPF工程
-
上傳App.xaml中的StartUri
-
重載App類裏的OnStartUp方法
-
用nuget添加CastleWindsor工程引用, 注意的是目前支持的最低的.net framework版本爲4.5
-
在App類中聲明成員變量
public IWindsorContainer Container;
6. 在重載的OnStartUp中初始化IoC框架,以及構造MainWindow
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
Container = new WindsorContainer();
Container.Install(FromAssembly.This());
Container.Register(Component.For<MainWindow>());
var mainView = Container.Resolve<MainWindow>();
mainView.ShowDialog();
}
7. 在App類退出時銷燬IoC
protected override void OnExit(ExitEventArgs e)
{
base.OnExit(e);
Container.Dispose();
}