最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

WPF 4.5 中的弱事件

  • 2012-02-19
  • 本文字数:493 字

    阅读完需:约 2 分钟

弱事件对于 WPF 和 Silverlight 中使用的样式数据绑定而言,一直是一门重要的内存管理技术。前者 WPF 甚至提供了一个 WeakEventManager 基类以供使用。不幸的是,弱事件模式对于事件源和事件处理器两者都相当麻烦。开发人员不仅必须要为每一个事件类型创建一个自定义的WeakEventManager 子类,还得为事件处理器实现匹配的监听器接口。当你需要监控几个对象上的相同事件,并且不得不为每一个对象使用不同的事件处理器时,结果会特别令人沮丧。

.NET 4.5 让这件事情变得简单了多。它为WPF 开发人员提供了泛型版本的WeakEventManager 。使用该泛型版本不仅不需要实现事件的具体子类,还免去了使用监听器接口的必要。库的内部实际上使用了反射来连接事件,因此它的性能和其他替代方案相比并不是非常好。

这种新的方法也不是毫无限制。和原有的类一样,新的弱事件管理器在Silverlight 中并不可用,这反过来使得代码共享变得更加困难。另外,它还是继续约束在调度线程(dispatcher thread)中,这使得它无法被用在非WPF 的应用程序中。最后,事件引用是根据名称而不是类型。

InfoQ 邀请您在评论中发表自己最喜爱的弱事件实现。

查看英文原文: Weak Events in WPF 4.5

2012-02-19 02:171285
用户头像

发布了 125 篇内容, 共 35.6 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

Thread 线程,状态转换、方法使用、原理分析

小傅哥

线程 小傅哥 Thread 七日更 状态流转

第十周作业

Jack

你不得不知道的反射(非常重要)

安琪拉的博客

Java 反射 java反射

到底什么是 CDN

转山转水

CDN

ModelArts黑科技揭秘|模型智能评估、诊断,让模型来个“体检

华为云开发者联盟

AI 模型 华为云 modelarts 智能诊断

架构师训练营第十周作业

丁乐洪

回溯和动态规划解决每次移动一步最终回到原地算法、富兰克林成功要素和狗熊掰棒子、swift多线程编程入门operation John 易筋 ARTS 打卡 Week 31

John(易筋)

ARTS 打卡计划 富兰克林成功要素 狗熊掰棒子 动态规划解决移动回到原地 swift operation

一个HashMap能跟面试官扯上半个小时

安琪拉的博客

Java HashMap底层原理

思考-国际化系统表结构设计

BerryMew

瞬间起飞!腾讯大神纯手撸“架构师成手册”网友看完直呼NB!

比伯

Java 编程 架构 面试 计算机

科技抗疫,少年可期,为这群有AI的天使开发者疯狂打call

华为云开发者联盟

人工智能 华为云 modelarts 医疗AI 对象存储服务OBS

TypeScript | 第五章:高级类型

梁龙先森

typescript 大前端 七日更

架构师训练营 1 期 - 第十三周 - 数据应用 2

三板斧

极客大学架构师训练营

Multi-Architecture镜像制作指南已到,请查收!

华为云开发者联盟

Docker Kubernetes 容器 镜像 Multi-Architecture

写技术文章给我带来什么好处?

小林coding

程序人生

分布式缓存架构设计和一致性HASH

我们新四军不拿群众一针一线

华为大佬亲自手码Dubbo服务暴露源码解析!这次够清楚了吧

比伯

Java 编程 架构 程序人生 计算机

skynet源码分析之网络层—Lua层

赖猫

c++ lua skynet

今天,我们为什么应该读懂华为人工智能?

脑极体

笔记|怎样成为高效学习的人

熊斌

学习 个人成长 成长笔记 七日更

bit位操作及其算法应用

Skysper

算法 位运算

注册中心Eureka源码解析

洛神灬殇

架构师训练营大作业1

邓昀垚

加快你ROS安装的一篇文章

良知犹存

ROS

第十三周 数据应用2 总结

三板斧

极客大学架构师训练营

工具之书:《账簿与权力》与 GNUCash

lidaobing

GNUCash 28天写作

垃圾回收你懂,Java垃圾回收你懂吗?

华为云开发者联盟

Java 虚拟机 存储 对象 垃圾回收

架构师训练营 第十周作业

文江

刘华:戏说Docker和K8s,一文让你成为懂王

刘华Kenneth

Docker 云计算 Kubernetes DevOps k8s

如何解决MySQL主从数据库没有同步的问题?

冰河

MySQL 高可用 主从复制

生产环境全链路压测建设历程 20:某快递 A 股上市公司的生产压测案例之彩蛋

数列科技杨德华

全链路压测 七日更

WPF 4.5中的弱事件_.NET_Jonathan Allen_InfoQ精选文章