首页 > 其他分享 >wpf学习 Prism 使用入门

wpf学习 Prism 使用入门

时间:2023-12-04 13:56:14浏览次数:28  
标签:containerRegistry 入门 void Prism protected override wpf RegisterTypes

一、手动添加

  1. 安装包 Prism.DryIoc
  2. app.xaml.cs 修改
    继承基类为: PrismApplication
    实现其中的抽象成员:CreateShell 用于指定启动的窗口类
     1     public partial class App : PrismApplication
     2     {
     3         protected override Window CreateShell()
     4         {
     5             return Container.Resolve<MainWindow>();//默认启用的首页
     6         }
     7 
     8         protected override void RegisterTypes(IContainerRegistry containerRegistry)
     9         {
    10             //返回依赖注入容器
    11         }
    12     }
  3. 修改app.xaml
    <prism:PrismApplication
        x:Class="PrismDemo.App"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:PrismDemo"
        xmlns:prism="http://prismlibrary.com/">
        <Application.Resources />
    </prism:PrismApplication>

     其中需要修改原有的 Application为  prism:PrismApplication
    增加行:xmlns:prism="http://prismlibrary.com/">


二、自动添加

  1. vs安装插件  Prism Template Pack
  2. 创建工程

 三、区域 模块 导航

1.模块窗口定义

2.注册模块 依赖注入

        protected override void RegisterTypes(IContainerRegistry containerRegistry)
        {
            containerRegistry.RegisterSingleton<IMessageService, MessageService>();
        }

        protected override void ConfigureModuleCatalog(IModuleCatalog moduleCatalog)
        {
            moduleCatalog.AddModule<ModuleNameModule>();
        }


        public void RegisterTypes(IContainerRegistry containerRegistry)
        {
            containerRegistry.RegisterDialog<ViewC>();
            containerRegistry.RegisterForNavigation<ViewA,ViewAViewModel>();
        }

 

 

未完。。。。。

 

标签:containerRegistry,入门,void,Prism,protected,override,wpf,RegisterTypes
From: https://www.cnblogs.com/chao-ye/p/17867594.html

相关文章

  • Arcpy使用入门
    2.7Python(目前ArcGIS使用)代码转化为3.5Python(目前ArcGISPro使用)代码----AnalyzeToolsForPro(2to3命令)基本操作调用ArcToolbox的两种形式#arcpy.ToolboxAlias.ToolName()#arcpy.ToolName_ToolboxAlias()#ToolboxAlias工具箱别名#ToolName工具名称arcpy.analysis.B......
  • 【让AI女友跟我表白】大白话说Python+Flask入门(四)Flask Sijax的使用
    写在前面先吐槽两句,搞个mysql安装配置弄了4个小时,怎么都是外网无法访问,我靠,我特么也是服了。当然,后来我投降了,明天再说,学什么不是学,娘的,换个方向,状态依然在!Sijax是什么?代表SimpleAjax,它是一个Python/jQuery库,使用jQuery.ajax来进行AJAX请求用的。安装依赖pipinstallflas......
  • WPF应用开发之控件动态内容展示
    在我们开发一些复杂信息的时候,由于需要动态展示一些相关信息,因此我们需要考虑一些控件内容的动态展示,可以通过动态构建控件的方式进行显示,如动态选项卡展示不同的信息,或者动态展示一个自定义控件的内容等等,目的就是能够减少一些硬编码的处理方式,以及能够灵活的展示数据。本篇随笔通......
  • WPF应用开发之附件管理
    在我们之前的开发框架中,往往都是为了方便,对附件的管理都会进行一些简单的封装,目的是为了方便快速的使用,并达到统一界面的效果,本篇随笔介绍我们基于SqlSugar开发框架的WPF应用端,对于附件展示和控件的一些封装处理界面效果,供大家参考斧正。1、回顾附件管理,Winform端以及VueElement的......
  • Wpf Prism 导航(参数传递,路由守卫,路由记录)
    十年河东,十年河西,莫欺少年穷学无止境,精益求精1、新建项目wpfApp5,添加Nuget引用,并初始化App.xaml及cs类 app.xaml如下:<Prism:PrismApplicationx:Class="WpfApp5.App"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="......
  • Wpf 第三方Mvvm包(mvvmLight/Microsoft.Toolkit.Mvvm/CommunityToolkit.Mvvm)
    十年河东,十年河西,莫欺少年穷学无止境,精益求精 mvvmLight和 Microsoft.Toolkit.Mvvm已被Nuget弃用且不再更新,在此不作说明CommunityToolkit.Mvvm是NetCore版本引用包,详情参考:WPFMVVM框架:CommunityToolkit.Mvvm包使用介绍1、wpf项目中使用 CommunityToolkit.Mvvm(NetCore3.1......
  • WPF 控件驱动控件 及 数据驱动控件(双向绑定)
    wpf双向绑定十年河东,十年河西,莫欺少年穷学无止境,精益求精最近在知乎,看了很多提问,涉及到就业,裁员,经济等,不看不知道,越看越头疼,知乎上很多人提问毕业生就业如何难,2023年裁员如何严重,35岁的中年危机,程序员被裁员后找不到工作该,经济如何差等话题哎,这让我这个35......
  • 消息队列入门 —— 以 Kafka 为例(一)
    消息队列入门——以Kafka为例(一)概述当我们的应用逐步变得庞大,各层应用之间调用关系越来越复杂,对系统的可用性以及可扩展性要求也越来越高。消息队列作为分布式系统架构中的一个关键中间件,提供了“消息传递”和“消息排队模型”,可以应用在系统解耦、异步处理、流量削峰等多个......
  • 【SpringBootWeb入门-1】SpringBootWeb快速入门
     SpringBootWeb快速入门①.创建springboot工程,并勾选web开发相关依赖。在项目新建,File->Project->SpringInitializr,模块填 springboot-web-quickstart   在这里要注意:IDEA2023创建spring工程是无法选择jdk8或者11,原因是spring2.X版本在2023年11月24日停止维护了,因此......
  • 【python入门之流程控制语句】---流程控制语句
    【一】流程控制语句介绍程序是由语句构成,而流程控制语句是用来控制程序中每条语句执行顺序的语句。流程控制语句用于根据条件来控制程序的执行流程。可以通过控制语句实现更丰富的逻辑以及更强大的功能。几乎所有编程语言都有流程控制语句,功能也都基本相似。其流程控制......