tags:

views:

63

answers:

4

What aspects and practices specific to WPF could be most useful (and not inconceivable to implement) in non-WPF GUI programming?

+4  A: 

Updating of the view via events. Databinding magic happens due to INotifyPropertyChanged and INotifyCollectionChanged. Writing a non-WPF app that, rather than blocking on queries, updated its data through either these interfaces or a custom one is a solid practice that can help ensure good separation of responsibilities as well as testability.

kyoryu
+6  A: 

I was introduced to the command pattern by learning the WPF commands. It forms the basis for the UI - code separation, which I believe should be utilized in other applications.

thewpfguy
+1  A: 

Ok, it's not entirely specific to WPF (it is used in silverlight as well), but I find IDataErrorInfo to be extremely useful outside of WPF / Silverlight. For my ASP.NET MVC applications my ViewModels implement IDataErrorInfo (for complex validations that are uncomfortable to solve using the validation attributes - such as if field A has a particular value, and field B has a particular value, then C can only be in a small subset of values). Then I have an extension method on my controllers that adds those data validation errors to the ModelState. Works like a charm.

Furis
+3  A: 

MVVM or Model-View-ViewModel is a fantastic design pattern and one that I hope will become widespread on the internet.

On that, have a look at Steve Sanderson's Knockout UI javascript library.

Alastair Pitts