C# WPF MVVM模式Prism框架下事件发布与订阅

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

01前言

    处理同模块不同窗体之间的通信和不同模块之间不同窗体的通信,Prism提供了一种事件机制,可以在应用程序中低耦合的模块之间进行通信,该机制基于事件聚合器服务,允许发布者和订阅者之间通过事件进行通讯,且彼此之间没有引用,这就实现了模块之间低耦合的通信方式。简单来说就是提供了一个多播发布/订阅功能。Prism的事件聚合器,这玩意实现原理是观察者模式,观察者模式也就是常说的发布/订阅模式。

02创建事件

这里我们创建一个公共接口类PersonInfoEven并继承自PubSubEvent,并传入一个PersonInfo对象


 public class PersonInfo
    {
        public string Name { get; set; }
        public int Age { get; set; }
        public string Sex { get; set; }

        public override string ToString()
{
            string report = $"[Name] = [{Name}],[Age] = [{Age}],[Sex] = [{Sex}]";
            return report;
        }

    }
    public class PersonInfoEven : PubSubEvent<PersonInfo>
    {

    }

prism导航功能 1.在ViewAViewModel中定义一个变量title2,并且赋值1234。2.在主界面中使用DataContext.Title2,就可以获取到值。6.App.xaml.cs中不需要变化,只是修改成代码加载的方式。把ViewAViewModel中的变量,放在主界面中。1.建立ViewAViewModel类。3.ModuleAfile类中进行匹配。2.ViewA.xaml中进行绑定。如果导航中要传递多个参数,可以参考。4.MainViewModel类。...... 阅读详情

相关推荐

C# 一个基于.NET Core3.1的开源项目帮你彻底搞懂WPF框架Prism

这个项目演示了如何在WPF中使用各种Prism功能的示例。如果您刚刚开始使用Prism,建议您从第一个示例开始,按顺序从列表中开始。每个示例都基于前一个示例的概念。

DotnetNb的博客 1907

C#+WPF+Prism模块化开发示例

C#+WPF+Prism模块化开发示例。本示例简述了Prism框架的基本应用,包括数据绑定,事件等内容

.NET 6.0 + WPF 使用 Prism 框架实现导航

Prism 一个开源的框架,专门用于开发可扩展、模块化和可测试的企业级 XAML 应用程序,适用于 WPF(Windows Presentation Foundation)和 Xamarin Forms 等平台。Prism 基于 MVVM(Model-View-ViewModel)设计模式,提供一套丰富的工具和库,能够实现模块化、依赖注入、导航和事件聚合等功能。本文将介绍 Prism 框架的基本概念、安装步骤以及使用。

2401_86940371的博客 1890

C#中使用 Prism 框架

Prism 框架是一个用于构建可维护、灵活和可扩展的 XAML 应用程序的框架。它提供了一套工具和库,帮助开发者实现诸如依赖注入、模块化、导航、事件聚合等功能。使用 Prism 可以帮助我们构建具有良好结构的应用程序,并且使得代码更易于理解和维护。

仰望星空的博客 3075

C# WPF prism 桌面开发基础——模块

prism项目分模块开发

时雨吹雪的博客 2985

C# WPF 中使用Prism

本文章主要介绍了Prism9.0在WPF中的使用,包含了EF代码创建数据库。

m0_61616629的博客 2120

C# WPF MVVM模式下使用Prism框架进行事件发布订阅

Prism是一个流行的MVVM框架,它提供了一些强大的功能,包括事件发布订阅机制,可以帮助我们更好地管理应用程序中的事件通信。接下来,我们创建一个事件订阅者(Event Subscriber),用于订阅事件并执行相应的操作。接下来,我们创建一个事件订阅者(Event Subscriber),用于订阅事件并执行相应的操作。现在,我们可以在应用程序的任何地方使用事件发布者发布事件,然后由事件订阅者接收并处理事件。现在,我们可以在应用程序的任何地方使用事件发布者发布事件,然后由事件订阅者接收并处理事件

XsfFsharp的博客 844

C# Prism框架简介

C# Prism框架简介和基础使用

qq_45514832的博客 2044

C# Prism框架详解

本文详细介绍了关于C#Prism框架的理解以及使用方法

龟速船长 1430

C# Prism框架详解:构建模块化WPF应用程序

Prism是一个用于构建松散耦合、可测试和可维护的WPF桌面应用程序的框架。它最初由微软模式实践团队开发,现在由社区维护,是构建企业级WPF应用程序的首选框架之一。

exlink2012的专栏 2019

告别样板代码:用CommunityToolkit.Mvvm重构你的WPF应用(含Prism对比)

本文深入探讨了如何利用CommunityToolkit.Mvvm框架重构WPF应用,以显著减少MVVM模式中的样板代码。通过Prism框架在属性通知、命令定义等核心功能上的对比,展示了其通过源代码生成器和声明式特性带来的代码简洁性开发效率提升,并提供了实用的迁移策略和高级应用技巧。

flink9streamer的博客 987

MVVM——prism框架

Prism是一个面向企业级应用的成熟MVVM框架,最初由微软开发,现由社区维护。它提供模块化开发、依赖注入、导航管理、命令绑定和事件聚合等核心功能,支持WPF、UWP、Xamarin.Forms和MAUI等.NET平台。框架强调解耦和可扩展性,通过模块化拆分、区域管理和事件聚合器等功能,适合开发大型复杂应用。相比轻量级的CommunityToolkit.MvvmPrism功能更全面但学习成本较高,是企业级项目的理想选择。

weixin_66547608的博客 813

Awesome WPF框架深度解析:MVVMPrism、ReactiveUI终极对比指南

WPF(Windows Presentation Foundation)作为微软的强大桌面应用框架,提供了丰富的UI设计能力和数据绑定机制。在WPF开发中,MVVM模式及其衍生框架是构建现代化应用的核心。本文将深入对比三大主流框架:经典MVVM模式Prism框架和ReactiveUI,帮助开发者选择最适合项目需求的技术方案。 ## MVVM模式WPF开发的基础架构 MVVM(Model-V

gitblog_00825的博客 920

prism项目搭建 wpf_Prism完成的一个WPF项目

本着每天记录一点成长一点的原则,打算将目前完成的一个WPF项目相关的技术分享出来,供团队学习总结。总共分三个部分:基础篇主要针对C#初学者,巩固C#常用知识点;中级篇主要针对WPF布局MaterialDesign美化设计,在减轻代码量的情况做出漂亮的应用;终极篇为框架应用实战,包含系统分层、MVVM框架Prism安装使用、ORM框架EntityFramework Core配置使用、开源数据...

weixin_39751076的博客 1753

prism框架_Prism+MaterialDesign+EntityFramework+Postgresql WPF之 架构篇

本着每天记录一点成长一点的原则,打算将目前完成的一个WPF项目相关的技术分享出来,供团队学习总结。总共分三个部分:基础篇主要针对C#初学者,巩固C#常用知识点;中级篇主要针对WPF布局MaterialDesign美化设计,在减轻代码量的情况做出漂亮的应用;终极篇为框架应用实战,包含系统分层、MVVM框架Prism安装使用、ORM框架EntityFramework Core配置使用、开源数据...

weixin_39531834的博客 1543

WPF开发Prism详解【内附源码】

在实际应用开发中,随着项目业务逐渐复杂,耦合度会越来越高,维护成本也会直线上升,所以解耦也变得越来越重要。Prism框架WPF开发中解耦提供了非常便捷的应用。今天主要以一个简单的小例子,简述WPF开发Prism框架的简单应用,如有不足之处,还请指正。 什么是PrismPrism是一个开源框架,用于在WPF、Xamarin Forms、Uno/Win UI等应用中创建松耦合、可维护、可测试的XAML应用程序。Prism提供了一组设计模式的实现,这些设计模式有助于编写结构良好且可维护的XAML应用程

绳锯木断,水滴石穿,专心写文,无问西东!!! 5156

MvvmLight、CommunityToolkit.MvvmPrism 的区别和联系

本文对比了三种MVVM框架MvvmLight、CommunityToolkit.Mvvm(CT.Mvvm)和PrismMvvmLight轻量但基本停更;CT.Mvvm是微软官方维护的轻量级工具集,支持源生成器等现代特性;Prism则提供模块化、导航等企业级功能。三者都遵循MVVM模式,提供ViewModel基类、命令封装和组件通信机制,但在实现细节和高级特性上存在差异。实例对比展示了各框架在计数器应用中的实现方式,包括基础命令和异步命令的使用。建议小型项目使用CT.Mvvm,大型复杂项目选择Prism

weixin_66547608的博客 1081
上一篇: C# 正则表达式编写及验证方法
下一篇: C# VS生成后事件命令行
DotNet工控上位机编程
博客等级 码龄4年 25粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值