Registering for notification events requires extra bookkeeping code that obfuscates business logic.

Update Controls is an open source library that replaces event-based data binding with automatic discovery and updating. WPF data binding requires that a bindable class implement the INotify Property Changed interface.

He blogs his discoveries along the way at Adventures In Software (

Independent properties support both read and write, but dependent properties are read-only.

As you’ve seen, writing a dependent property is simple; just put the business logic into the get method.

What would this code look like if you could take INotify Property Changed out of the picture?

What if data binding could work directly against a property and update whenever it changed?

To use Update Controls, add two references to your C# or Visual Basic WPF project: Update and Update Controls. Within your XAML files, add a namespace reference to Update Controls. Mail Merge is an example of a dependent property because it depends upon other properties for its value.

Current Customer and Name, on the other hand, are independent properties since they can change independently.

But writing an independent property takes one additional step.

You need to create an Independent sentry object that keeps track of every get and set.

Update Controls is an open source software library that does not require you to implement the INotify Property Changed interface or fire Property Changed events. The Update Controls library figures out when your properties change and automatically updates the view.

You can download the library from Codeplex ( or Update Controls. The Update Controls library figures out when your properties change and automatically updates the view.

The problem with this interface is in the code that consumes it.