50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

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

关注

评论

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

Go 语言高性能最佳实践

FunTester

TinkerTool System 9:Mac系统优化与维护的全能助手!

Rose

JustStream PRO for Mac:一键投屏,尽享大屏影音盛宴!

Rose

科研必备!GraphPad Prism 10数据分析与可视化的全新飞跃!

Rose

【永久破解】Lightroom Classic 2025(LRC2025)最新安装包

Rose

龙蜥社区加入智算产业联盟,助力构建开放、包容、普惠的 AI 新生态

OpenAnolis小助手

操作系统 龙蜥社区 智算产业联盟

什么是 Python 包管理器

克莱因瓶

AI英语考试APP的测试

北京木奇移动技术有限公司

软件外包公司 AI口语练习 AI英语学习

PIRF:422 Language Goofs – Egg Corns

Echo!!!

English

逆向购物新浪潮?揭秘反向海淘与入局指南

代码忍者

反向海淘系统搭建

📧Univer Go :电子表格结合AI,信息提取发邮件一键即达

梦数技术团队

Python JavaScript 自动化 电子表格 AI API

对话式 AI 硬件开发者都关心什么?低延迟语音、视觉理解、Always-on、端侧智能、低功耗……丨 RTE Meetup 回顾

声网

“破冰”探索两周年,AI和媒体碰撞出了什么火花?

Alter

Waves15 Complete(音频后期混音套件)激活特别版及安装教程分享

Rose

Maxon Cinema 4D 2024下载安装(C4D 2024中文永久激活)

Rose

什么是身份治理和管理(IGA)

运维有小邓

iam IT 运维

微店商品详情接口(微店API系列)

tbapi

微店API接口 微店商品详情接口

软件测试丨从自动化软件测试到自主测试,还差几步?

测试人

软件测试

参与有奖 服务器操作系统用户调研问卷(2024年度)

OpenAnolis小助手

操作系统 龙蜥社区

AI英语考试APP开发的技术难点

北京木奇移动技术有限公司

软件外包公司 AI口语练习 AI英语学习

好用的macOS壁纸软件Dynamic Wallpaper 臻选4K高清动态壁纸

Rose

Elmedia Player Pro:MacOS上的全能音视频播放器!

Rose

iNet Network Scanner:Mac用户的网络监控与管理利器!

Rose

【永久破解】Photoshop 2025(PS2025)最新安装包

Rose

春节返乡,记得带上这全国34个省的AI人脉……

脑极体

AI

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