DCSIMG
MVVM Open House at Sela Group - Essential WPF

MVVM Open House at Sela Group

To all of you who participated in the MVVM session today I hope you've enjoyed it and learned something new. It was a great pleasure to speak in front of you.

As I promised, here are the presentation and demo code.

Also here is the Agenda for the 4 days Advanced WPF course at Sela Group.

Published Tuesday, May 03, 2011 10:22 PM by Tomer Shamam

Comments

# re: MVVM Open House at Sela Group

Sunday, June 26, 2011 3:58 PM by Barak

Hi Tomer,

Having participated in your past events about MVVM and as one that regularly read your posts,

I wondered, based on your experience, what view-model bases classes would be the most common that worth supplying together in an MVVM framework.

To clarify my question, I see that most MVVM frameworks, posts,talk about one base class ViewModelBase that usually simply encapsulate INPC.

But I happen read a post or two in the community where they had object model with more than one base view-model, each served for a very common need/usage.

ie. there is ViewModelBase<TModel> that encapsulate model object,or WorkspaceViewModel that support close and optionality navigation.

Coming from your experience, in case you would have to build your own MVVM framework,what would be your most common base view-model classes and what they will provide?

Your opinion as and WPF/MVVM expert is highly appreciated.

Thank you

# re: MVVM Open House at Sela Group

Sunday, June 26, 2011 5:44 PM by Tomer Shamam

Hi Barak,

Depends on what you're going to implement, I suggest to have:

NotificationObject - basic INPC implementation with string and lambda flavor, debugging check, etc.

ValidationObject - derived from NotificationObject and provides data-validation (IErrorDataInfo).

ViewModelBase - derived from NotificationObject for all view-models, with no model restriction.

SingleModelViewModel<TModel> - derived from ViewModelBase and provides single model.

MultiModelViewModel<TModelCollection> - derived from ViewModelBase and provides multi model.

CompositeViewModel<TViewModel> - derived from ViewModelBase for composite view-model just in case.

This is only a first-thinking, so this is it for now.

Leave a Comment

(required) 
(required) 
(optional)
(required) 

Enter the numbers above:
Powered by Community Server (Commercial Edition), by Telligent Systems