I thought of doing something similar, but when I checked your sample code, I found that it need to write lot more repetitive code than I initially envision to get a business solution done with this.
As an example you write a code around model named book and repeat the same code for model name person with only difference of the two code being the model name.. Cann't we use generics instead of this..
I think we can improve this. I was planning to create a such application framework not only for WPF but also or MVC too..
Shall we do this.. have a look at
http://rocketframework.codeplex.com/ and see whether it make sense to you.. if you think we are in sinck allow me to join your project.. we can make this lot more easier to use than it is now..