WPF Prism的简单使用

这篇具有很好参考价值的文章主要介绍了WPF Prism的简单使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简单使用

  1. 新建 WPF 项目,我是基于 .net 5.0-windows 创建的。
  2. 引入 Prism.DryIoc(8.1.97) 的 Nuget 包。
  3. App.xaml 中引入命名空间。
xmlns:prism="http://prismlibrary.com/"
  1. 将 App.xaml 中 Application 标签更改成 prism:PrismApplication 并去除 StartUri 属性,将 App.xaml.cs 中 Application 更改成 PrismApplication
  2. 实现 PrismApplication(实际上是 PrismApplicationBase) 中的抽象方法。
protected override Window CreateShell() // Creates the shell or main window of the application
{
   
    return new MainWindow();
}

protected override void RegisterTypes(IContainerRegistry containerRegistry) // Used to register types with the container that will be used by your application.
{
   
    
}
  1. 运行成功(如遇到问题可一起交流)。

更进一步

以下将以 prism-samples-wpf 里的项目为说明对象。

01-BootStrapperShell/BootStrapperShell

此项目中并没有在 App.xamlApp.xaml.cs 中引入 PrismApplication ,而是通过新建继承自 PrismBootstrapperBootStrapper 类型,在该类型中实现了 PrismBootStrapperBase 中的两个方法。

protected override Window CreateShell() // Creates the shell or main window of the application.
{
    
	return Container.Resolve<MainWindow>();
}

protected override void RegisterTypes(IContainerRegistry containerRegistry) // Used to register types with the container that will be used by your application.
{
        
}

简单使用App.xaml.cs 实现的两个方法名称与参数都一样,实际上我猜测作用也可能是一样的。
值得注意的是,在BootStrapper类型中CreateShell方法通过 Container.Resolve < MainWindow >() 返回主窗口, 暂且定义此方法的作用是通过类型返回实例。

02-Regions/Regions

此项目以及后续项目都是采用如 简单使用 中的写法,在 Views/MainWindow.xaml 中采用了如下写法:文章来源地址https://www.toymoban.com/news/detail-413496.html

<ContentControl prism:RegionManager.RegionName="ContentRegion" /

到了这里,关于WPF Prism的简单使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Wpf 使用 Prism 实战开发Day12

    控制器类需要继承  ControllerBase 基类 需要添加 [ ApiController]  特性以及 [ Route]  特性 Route (路由) 特性参数规则,一般写法是  [Route(\\\"api/[controller]/[action]\\\")] 。也就是路由访问路径:前缀api/当前控制器/具体的方法 为了业务处理逻辑和控制器之间实现解耦。可以通过设计:

    2024年01月16日
    浏览(48)
  • Wpf 使用 Prism 实战开发Day13

    在上一节  ToDoController 控制器,或 IToDoService 服务接口中,方法的传参都是直接传的实体类。但在实际开发过程中,这样是不允许的。标准且规范的做法是,定义一个数据传输层,即Dto层。 1. 创建 BaseDto 基类,用于存放共用属性。 2. 创建待办事项 Dto类,并继承自 BaseDto 基类

    2024年01月20日
    浏览(45)
  • Wpf 使用 Prism 实战开发Day08

    1.效果图 MemoView.xaml 页面代码      1. 在  ItemsControl 中,添加滚动条  ScrollViewer  这样使用 ScrollViewer 把内容区域包裹起来,就能让内容区域支持滚动了        2 . 添加滚动条后的效果图如下:  使用md 中的一个自带动画 md:TransitioningContent 来实现该功能  需要设置一个属性,

    2024年02月03日
    浏览(38)
  • Wpf 使用 Prism 实战开发Day11

     仓储(rep):仓储接口定义了对实体类访问数据库及操作的方法。它统一管理数据访问的逻辑,并与业务逻辑层进行解耦。 简单的理解就是对访问数据库的一层接口封装。 工作单元(uow):用来保证我们处理业务逻辑的,稳定性,完整性。防止在业务操作过程中,涉及对数据

    2024年02月02日
    浏览(50)
  • Wpf 使用 Prism 实战开发Day19

    由于待办事项功能页,数据已正常渲染出来了。但页面新增,查询,修改,删除等功能还未实现。本章节来实现页面的请求后台实现CURD(增删改查) 根据渲染出来的待办事项,点击对应的待办事项时,查找出该条数据,显展示在编辑窗口中。 同时在搜索框中输入的参数或选

    2024年04月23日
    浏览(38)
  • Wpf 使用 Prism 实战开发Day02

    导航条的样式,主要是从Material DesignThemes UI 拷贝过来修改的,项目用了这个UI组件库,就看自己需要什么,就去拷过来使用,界面布局或其他组件使用,不做介绍。 直接下载源码,编译运行就可以看到Demo 了 反正我下载完且编译后是能正常跑起来,没有办法跑起来的,找找自

    2024年02月06日
    浏览(44)
  • WPF使用Prism新开窗体regionManager处理

    如果我们需要使用prism弹出一个新的提示窗体可以这样写 但是这样写新窗体注入的regionManager还是原来父窗体的regionManager对象。利用这个对象进行视图注入也可以操作,但是会导致一些奇怪的问题,比如在regionManager.Regions里找不到新加的Region。 此处新窗体的构造函数需要做如

    2024年02月12日
    浏览(40)
  • Wpf 使用 Prism 实战开发Day14

    备忘录控制器(MemoController)和待办事项控制器 (ToDoController)功能实现差不多一样。基本套路就是: 定义控制器(Controller) 定义数据传输层(Dto) 配置实体类(Entity)和数据传输类(Dto) 关系映射(Auto Mapper) 定义服务接口(IService) 实现服务接口 (Service) 把服务注入控

    2024年01月22日
    浏览(47)
  • Wpf 使用 Prism 实战开发Day01

    1.  VisualStudio 2022 2.  . NET SDK 7.0 3.  Prism 版本 8.1.97 以上环境,如有新的版本,可自行选择安装新的版本为主 项目名称:这里只是记录学习,所以随便命名都无所谓,只要觉得合理就行 注意: 下载的包名是 Prism.DryIoc 。为什么不是Prism.xxx其他包,而是 Prism.DryIoc ,别问我,我也不

    2024年02月08日
    浏览(44)
  • Wpf 使用 Prism 实战开发Day03

    效果图:   创建 Models ,放置实体类。 实体类需要继承自 Prism 框架的  BindableBase ,目的是让实体类支持数据的动态变更!  例如: 系统导航菜单实体类 创建View文件夹  放置前端显示页面 。例如:创建首页: MainView.xaml 创建ViewModel 文件夹,放置前端逻辑处理类。意思是:有前端

    2024年02月08日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包