Remind me what ReactiveXaml is again?
ReactiveXaml is a M-V-VM framework like MVVM Light or Caliburn.Micro, that is deeply integrated with the Reactive Extensions for .NET. This allows you to write code in your ViewModel that is far more elegant and terse when expressing complex stateful interactions, as well as much simpler handling of async operations. Here’s some motivating posts that have more info:
- Video interview about ReactiveXaml
- Calling web services elegantly
- Implementing a Flickr Image Search
- ICommands in RxXaml
- Easy async ICommands in RxXaml
New features in 1.4
- Added Debug Mode, which will add extra logging and catch certain bugs early in your apps’ debug builds. Enable it by calling
RxApp.EnableDebugMode()inside an #if DEBUG block.
- Most change notifying types (ReactiveObject, ReactiveCollection) now support the INotifyPropertyChanging interface, so you can be notified right before a property will change, as well. Corresponding IObservables have been added as well (i.e. “ItemsAdded” now has “BeforeItemsAdded” as well)
- Updated our copy of Rx to the PDC10 release
- Many bugs fixed, especially with SL4 and WP7
How can I get started quicker?
Download the binary release here (UPDATE: This release has a blocking issue for SL and WP7, 1.4.1 corrects this and I’ve updated the links here to point to that release instead):
- ReactiveXaml 184.108.40.206 for .NET 4 / .NET 3.5 / Silverlight 4 / Windows Phone 7
- ReactiveXaml 1.4.1 WPF Sample Project including RxXaml binaries
Building the project:
Building the project requires having quite a few products installed – to build a full release, you need:
- Visual Studio 2010
- Pex / Moles
- Code Contracts for .NET
- Expression Blend 4.0
- Silverlight 4.0 Development Tools
- Windows Phone 7 Development Tools
That being said, if you’re only interested in ReactiveXaml core, you only need VS2010 Professional – the other projects can simply be unloaded. Clone the source from GitHub, or download the 220.127.116.11 source code release as a Zip file (though I highly recommend the former).