| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!

View
 

WPF and Caliburn

Page history last edited by Garo Yeriazarian 13 years, 12 months ago

Convener: Garo Yeriazarian (@garoyeri)

 

I have been learning WPF (Windows Presentation Foundation) and Caliburn (along with MEF) for about a week now.  Discussed what I've learned so far and showed a bunch of different parts of the system.

 

Caliburn is a Framework (F-bomb!!!) for doing MVVM (Model-View-ViewModel) in WPF.  It is fairly small and supports a bunch of different containers (StructureMap, Spring, Autofac, Windsor, Ninject) along with some sort-of-containers-but-not-really-libraries (Prism, MEF (Managed Extensibility Framework)).  The project site has more details:

 

Caliburn Project Main Site: http://caliburn.codeplex.com/

Caliburn Project Documentation: http://caliburn.codeplex.com/documentation

 

The intro article is really good and goes over the basics.  I highly recommend firing up TortoiseSVN and checking out the source for their v1.1 branch instead of going with the binaries: tsvn:https://caliburn.svn.codeplex.com/svn/branches/v1.1. They also have a v2.0 in development with some new features, still Alpha.  I found that the build script didn't quite work right when .NET 4.0 was installed as well.  I recommend running NAnt directly as such from the checkout folder:

tools\nant\nant -buildfile:caliburn.build -D:build.config=release platform-net35

tools\nant\nant -buildfile:caliburn.build -D:build.config=release platform-silverlight30

etc etc.  Check the Caliburn.build file for more details on the targets supported.  On my system, I was having trouble (could be a PEBKAC however).

 

Once I got the basics figured out, it was fairly intuitive.  Please look through the source code too, there are some really need gems in there to make INotifyPropertyChanged easier and also the section on IResult coroutines is very nice!

 

I recommend going through all the documentation and samples, there are some neat stuff in there.  In the docs, they differentiate between the XAML needed for Silverlight and what is needed for WPF.

 

I also looked in MVVM Light a little bit: http://www.galasoft.ch/mvvm/getstarted/

This is another MVVM framework that has some visual studio integration.  It focuses on "Blendability" and there are some good MIX videos on it.

 

MIX Videos:

Build Your Own MVVM Framework: http://live.visitmix.com/MIX10/Sessions/EX15

This video goes over a lot of the same patterns used by Caliburn (Eisenburg is one of the main devs on Caliburn).

Other MIX MVVM videos: http://live.visitmix.com/Sessions/Tags/MVVM

 

 

Comments (0)

You don't have permission to comment on this page.