WPF之prism的基本使用
项目创建
先创建一个wpf项目,再引入包,可以直接引入Prism.Unity包,这个包会包含基础的包,并使用Unity的容器管理
在App.xaml中修改为prismApp并去掉starturi
<prism:PrismApplication
x:Class="wpf.prism.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:wpf.prism"
xmlns:prism="http://prismlibrary.com/">
<Application.Resources />
</prism:PrismApplication>
在App.xaml.cs中实现PrismApplication接口,该接口包含CreateShell和RegisterTypes两个方法需要实现。
CreateShell是返回打开的主窗口,一般通过容器获取。
RegisterTypes是用于注册需要的各种类,包括view和viewModel。
public partial class App : PrismApplication
{
protected override Window CreateShell()
{
return Container.Resolve<MainWindow>();
}
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
containerRegistry.RegisterInstance<MyService>(new MyService());
containerRegistr