0

在课程之间传递事件的最佳方式是什么。问题是:我有一个连接类,当连接特定的 USB 设备时,我希望作为另一个类的 GUI(它将配置设备)有一个“已连接”标志,并且当它断开连接时有一个“断开”标志。我正在考虑创建一个新的eventHandler,并将this eventHandler添加到UI控制器类,连接类将“触发”事件,这是正确的,还是有更好的方法?

4

2 回答 2

2

有两种方法可以解决这个问题。一种是在连接状态更改时触发一个事件。GUI 可以监听事件并适当地更新其显示。这是一个相对简单的模型,并且在不同的库中得到很好的支持,因为事件是 C# 语言的一部分。

第二种方式,使用 Windows Presentation Foundation 或类似的库,是通过数据绑定。UI 控件“绑定”到连接类,当连接类的属性更新时,UI 会自动更新。这设置起来稍微复杂一些,并且是特定于库的(链接是针对 WPF 的)。然而,它是一个更加强大和灵活的概念。

于 2012-09-27T01:03:23.500 回答
1

您也可以尝试使用EventAggregatorMicrosoft Prism 的。我更喜欢它,因为它高度解耦并且相当轻量级。

更多关于棱镜和EventAggregator

http://msdn.microsoft.com/en-us/library/ff921122(v=pandp.20).aspx

于 2012-09-27T01:24:53.920 回答