文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

WPF创建Prism应用程序

2024-04-02 19:55

关注

创建Prism应用程序

1.第一步

首先, 创建一个基于.NetFramework 或.NetCore的WPF应用程序。如下所示:

2.第二步

为当前应用程序添加NuGet源, 打开NuGet管理器,安装Prism.DryIoc, 如下所示:

说明:

本文将以DryIoc容器为主讲解本系列的所有内容。

实际上, 在Prism7.2版本中, 已经引入了一些围绕IOC抽象的API更改。这最终将使得在选择容器之间切换更加容易,因为 API 在如何注册服务和视图方面完全相同。

您仍然可以访问容器,在 Autofac 容器构建器的情况下,通过扩展方法,以便您可以完成更复杂的注册。

// Prism 6.X way of Registering Services
protected override void RegisterTypes()
{
    // Container Specific Registrations

    // Autofac
    Builder.RegisterType<DebugLogger>().As<ILoggerFacade>().SingleInstance();

    // DryIoc
    Container.Register<ILoggerFacade, DebugLogger>(reuse: Reuse.Singleton,
                                                   ifAlreadyRegistered: IfAlreadyRegistered.Replace);

    // Ninject
    Container.Bind<ILoggerFacade>().To<DebugLogger>().InSingletonScope();

    // Unity
    Container.RegisterType<ILoggerFacade, MCAnalyticsLogger>(new ContainerControlledLifetimeManager());
}

// Unified API in Prism 7
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
    containerRegistry.RegisterSingleton<ILoggerFacade, DebugLogger>();
}

在Prism提供的VusualStudio Template Pack当中, 默认支持选择两种类型的容器项目:

1.DryIoc: GitHub地址

2.Unity: GitHub地址

3.第三步

修改App.xaml文件,添加prism命名空间, 继承由Application->PrismApplication, 如下所示:

打开App.xaml.cs文件, 继承由Application->PrismApplication, 如下所示:

注: 此时,继承于PrismApplication类, 需要实现其中的两个抽象方法。 CreateShell 与 RegisterTypes

Prism的初始化过程

在上面过程中, 我们已经将普通的WPF应用程序修改为PrismApplication, 此时, 再来了解一下Prism的整个框架的初始化过程, 如下所示:

到目前为止, 我们并不关心内部的运行逻辑及初始化过程, 从上面的图中, 可以大致了解, Prism在初始化过程中,

除了构建自身的容器、服务、适配器及一些区域行为后, 便开始创建应用程序的首页(Shell)以及加载模块, 最终呈现。

注: 关于涉及到的服务、注册类型、适配器、区域等概念, 再后面会陆续讲解。

了解了上面的初始化流程之后, 我们有了初步的概念, 再次回到第三步当中,App.xaml.cs文件。

在这里, 我们实现了其中的两个抽象方法:

1.CreateShell

该方法返回了一个Window类型的窗口, 其实就是返回应用程序的主窗口。

2.RegisterTypes

该方法用于在Prism初始化过程中, 我们定义自身需要的一些注册类型, 以便于在Prism中可以使用。

创建Shell示例

现在, 创建一个ShellWindow, 并且实现CreateShell将SheloWindow实例返回, 如下所示:

注:Container 是基类当中的一个容器属性,可用于解析对象的依赖项注入容器

启动之后, 我们可以ShellWindow创建定义的内容,并且呈现。

创建Prism的快速方法

1.首先, 打开VisualStudio的扩展, 安装Prism Template Pack包。

Prism Template Pack提供了什么?

1.Blank Project (空白示例项目)
2.Module Project (模块示例项目)
3.代码片段(用户快速创建属性,命令)

2.安装完成之后, 再次打开VisualStudio, 将会发生,Prism Template Pack提供了多种项目模板, 用于快速构建基于Prism的应用程序, 如下所示:

注:同时,Prism提供了基于Xamarin的项目模板, 因为Prism是一个基于多个平台的框架, 详细见: Prism框架介绍

结语

本章节, 主要介绍了如何创建一个基于Prism的WPF项目, 以及其它方式快速创建基于Prism的项目模板。

到此这篇关于WPF创建Prism应用程序的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯