写点什么

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:171833
用户头像

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

关注

评论

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

拒绝做工具小子—编写Python漏洞验证脚本

网络安全学海

黑客 网络安全 信息安全 渗透测试 安全漏洞

【架构训练营-模块二】

默光

微信朋友圈 架构训练营5期

产品经理角色理解

wood

300天创作

Java异常处理:如何写出“正确”但被编译器认为有语法错误的程序

华为云开发者联盟

Java 代码 java异常处理 语法 Exception

Linux之vmstat命令

入门小站

Linux

关于如何构建 Go 代码的思考

宇宙之一粟

Go 语言 2月月更

不会用SpringBoot连接Redis,那就赶紧看这篇

华为云开发者联盟

redis 开发 springboot Redis服务器

java培训:SpringBoot技术的理解

@零度

JAVA开发 spring-boot

一个人手写APP监控平台是什么体验 | 社区征文

一诺倾心

flutter android 性能优化 APM

一文搞明白直播和点播的区别 | 社区征文

liuzhen007

音视频 新春征文 2月月更

B站员工猝死,审核员之殇,谁该反省?谁该惭愧?技术层面解构内容安全审核系统(python3)

刘悦的技术博客

系统架构 内容审核 Python3 应用审核 构架

在线ASCII流程图编辑器工具

入门小站

工具

固态存储行业领导者硅格半导体加入龙蜥社区,共同推动开源生态建设

OpenAnolis小助手

Linux 开源 社群运营

BIGO 使用 Flink 做 OLAP 分析及实时数仓的实践和优化

Apache Flink

大数据 flink 编程 后端 实时计算

AI+Science:基于飞桨的AlphaFold2,带你入门蛋白质结构预测

百度大脑

在线学习FTRL介绍及基于Flink实现在线学习流程|社区征文

张浩_house

机器学习 大数据 flink 新春征文

react源码解析3.react源码架构

buchila11

React

设计模式【13】-- 模板模式怎么弄?

秦怀杂货店

Java 设计模式 23种设计模式

运维与微服务结合?深度解析微服务框架Tars整体解决方案

云智慧AIOps社区

DevOps 微服务 运维 云原生 TARS

百度手机助手存储资源优化实践

百度Geek说

后端 存储

前端培训:Vue 面试题分享

@零度

Vue 前端开发

王者荣耀商城异地多活设计

皓月

「架构实战营」

AI象棋,谁与争锋

乌龟哥哥

AI 2月月更

领域模型设计该如何落地到数据库设计?

蜜糖的代码注释

Java DDD 领域模型 2月月更

一起玩转LiteOS组件:Pixman

华为云开发者联盟

LiteOS LiteOS组件 Pixman Pixman Demo LiteOS组件仓库

架构训练营 week10 课程总结

红莲疾风

「架构实战营」

推荐 3 个 React 动画库

devpoint

React 网页动画 2月月更

RTE2021 回顾丨HDR 技术产品实践与探索

声网

人工智能 HDR

mysql 面试总结

yuexin_tech

面试

一文带你了解数仓智能运维框架

华为云开发者联盟

运维 GaussDB(DWS) 智能运维框架 调度框架 任务调度器

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