WPF Prism.DryIoc(1-3)

目录

构造Prism.Dryloc项目

prismRegion(区域)

Prism 模块化

Prism导航及传参及阻止跳转 

构造Prism.Dryloc项目

在程序中下载Nuget包Prism.DryIoc

在APPcs改变引用类型

WPF Prism.DryIoc(1-3)_第1张图片 前端Xaml(App)

WPF Prism.DryIoc(1-3)_第2张图片

prismRegion(区域)

实现目的,降低程序之间的耦合性质,降低前端后端依赖性。

在我们创建了程序的Prism.Dryloc程序后在设置  prism:ViewModelLocator.AutoWireViewModel="True"我们将在程序中模拟实现传递程序窗体。

1在程序中注册全局可用区域名称 (注意设置名称时 不能为中文)

WPF Prism.DryIoc(1-3)_第3张图片

2在程序显示区域声明名称

3在需要触发区域显示窗体时,调用窗体

WPF Prism.DryIoc(1-3)_第4张图片

并生成一个IRegionManager接口的字段

4触发显示内容

Prism 模块化

更大程度的减低程序之间的耦合度。如在多个项目中有些项目担当的就是承载试图的如

WPF Prism.DryIoc(1-3)_第5张图片

前面的项目都将只是程序之间的视图承担,意思就是只放置视图

多余的都删除将程序的生成方式改为视图(安装prism Dryloc)

WPF Prism.DryIoc(1-3)_第6张图片

在视图的解决项目中创建类将当前的视图都注册进去,且放置在容器之中把,(个人理解)

如ModelA中的Module

WPF Prism.DryIoc(1-3)_第7张图片

多少窗体需要弹出显示就注册多少

WPF Prism.DryIoc(1-3)_第8张图片

ModelB中也是一样

WPF Prism.DryIoc(1-3)_第9张图片

现已经注册,多个窗体。

在显示的解决方案中添加模块(app.xaml中)

提示注册时的名字和传递的名字一致才是窗体对应上。

WPF Prism.DryIoc(1-3)_第10张图片

  • Prism导航及传参及阻止跳转

    导航顾名思义,返回程序的上下步骤,如在A界面操作后跳转到B界面继续操作这时,我们想回到A那么我们就能使用导航来实现,当然导航时每次的界面跳转都会记录并非这一两次的跳转记录。

    传参

    1先说传参,在我们跳转时我们都是通过之前标识的名称来传递如图

    WPF Prism.DryIoc(1-3)_第11张图片

    2但我们在调用窗体的同时还可以给相应的窗体传递参数如图

    3在我们接收的窗体中VM中继承接口

    IConfirmNavigationRequest IConfirmNavigationRequest 比INavigationAware (导航感知) 多一个阻止跳转的ConfirmNavigationRequest方法

    WPF Prism.DryIoc(1-3)_第12张图片

    阻止跳转

    在被跳转的视图对应的VM中接口IConfirmNavigationRequest 中方法

    ConfirmNavigationRequest  委托参数bool true 跳转

    WPF Prism.DryIoc(1-3)_第13张图片

    步骤1使用的框架是prism 所以先构造框架,前面有介绍。

    步骤2 前面的区域和模块化都有介绍 在我们注册和添加窗体后

    在调用窗体的时候 有个委托参数,委托参数  先声明一个负责跳转的字段 接口 IRegionNavigationJournal

    步骤3

    WPF Prism.DryIoc(1-3)_第14张图片 

    步骤3是记录下了导航跳转内容以便之后跳转。

    步骤4实现跳转

    依旧前面接口成员IRegionNavigationJournal 的字段 在步骤3中已经赋值所以 直接调用返回方法函数,和前进方法函数就能实现导航效果

    WPF Prism.DryIoc(1-3)_第15张图片 

你可能感兴趣的:(WPF,Prism框架,wpf)