Prism框架初识
Prism是一个用于构建松耦合、可维护和可测试的XAML应用的框架[1](https://zhuanlan.zhihu.com/p/558911115)[2](https://cloud.tencent.com/developer/article/1757619)[3](https://zhuanlan.zhihu.com/p/337712734),它支持所有基于XAML的平台,包括WPF、Xamarin Forms、WinUI和Uno[2](https://cloud.tencent.com/developer/article/1757619)[3](https://zhuanlan.zhihu.com/p/337712734)。Prism提供了以下功能:
- 依赖注入:Prism支持多种依赖注入容器,如Unity、DryIoc等,可以帮助你实现控制反转和服务定位。
- MVVM模式:Prism提供了一些基类和接口,如BindableBase、DelegateCommand、IEventAggregator等,可以帮助你实现MVVM模式。
- 导航服务:Prism提供了一个导航服务,可以帮助你在不同的页面或者视图之间进行导航,并且传递参数和处理返回结果。
- 模块化开发:Prism支持模块化开发,可以让你将应用分解为多个独立的模块,并且动态地加载和卸载它们。
- 区域管理:Prism支持区域管理,可以让你在一个主窗口中定义多个区域,并且在不同的区域中显示不同的视图或者用户控件。
如果你想学习更多关于Prism框架的内容,请参考以下链接: [1](https://zhuanlan.zhihu.com/p/558911115): https://zhuanlan.zhihu.com/p/558911115 [2](https://cloud.tencent.com/developer/article/1757619): https://cloud.tencent.com/developer/article/1757619 [3](https://zhuanlan.zhihu.com/p/337712734):
安装Prism框架
Nuget搜索Prism.Dryloc,安装它。
修改App.xaml
-
修改App.xaml.cs继承类,将
public partial class App : Application
改为public partial class App : PrismApplication
-
修改App.xaml
- 删除
StartupUri="MainWindow.xaml"
- 引用名称空间
xmlns:prism="http://prismlibrary.com/"
- 修改最外层为
<prism:PrismApplication ></prism:PrismApplication >
- 删除
-
重新生成
-
回到
App.xaml.cs
实现App
接口,具体如下。
using System.Data;
using System.Linq;
using System.Threading.Tasks;
using System.Windows;
namespace PrismDemo
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : PrismApplication
{
protected override Window CreateShell()
{
return Container.Resolve<MainWindow>();//通过容器拿到MainWindow
}
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
//放依赖注入
}
}
}
下载模板扩展
以上讲得是修改原理,如果不想每次都修改,可以在https://marketplace.visualstudio.com/items?itemName=BrianLagunas.PrismTemplatePack这个网址下载模板。