2013-05-18 19 views
1

在WPF中有双向数据绑定的概念,在db中更新对象属性值时,框架在实现接口时也会更新视图。如何实现属性更改通知,而不进行明确的调用?

我正在寻找类似于C#中的此功能,但不使用WPF。

这种情况是,当一个对象属性被更新时,一系列的通知被发送到这个对象的其他使用者,通知他们属性的变化。

所以流程是:

  1. 更新数据库
  2. 通知消费者1
  3. 通知消费者2

这个过程需要三个独立的线。有没有一种方法来实现WPF的属性更改概念,以更新谁是消费者(比如说,事件驱动)而无需明确通知消费者?

+0

取决于你在做什么,你究竟想要制作一个win-forms应用程序,一个ASP.NET webforms或MVC应用程序,还是什么?每个人都有不同的方式来处理这样的事情,这就是为什么我问。 – Nomad101

+0

@ Nomad101 - 是的...底层架构是MVC。 – ElHaix

回答

1

实施INotifyPropertyChanged时,只要您想让消费者知道该房产已更改,您只需举办活动即可。无论有多少消费者正在倾听该事件,您只会打一个电话来举报该事件。

如果你想达到什么是减少样板代码,即有每二传手只有一行代码,你可以看看this simple solution,这can be made even nicer with C# 5

+0

只是为了澄清,您的建议是针对非WPF /非Silverlight客户端的,对吗? – ElHaix

+0

无论如何,这适用于任何C#类。确实,WPF,Silverlight和WinForms使用此接口来了解何时更新UI,这是人们通常实现此接口的主要原因,但您也可以将其实现为仅供您自己使用。 –

相关问题