Prims 4.1 QuickStarts

Topics: Prism v4 - Silverlight 4, Prism v4 - WPF 4
Aug 6, 2013 at 2:54 PM
I am going through MVVM QuickStart example together with this link for explanation:
The link goes about ViewModel base class which all other ViewModels inherit. But I can't find ViewModel base class anywhere.

Can anyone please suggest if I am reading the right documentation for the quickstart or perhaps I am missing something ?

Aug 6, 2013 at 5:22 PM

As far as I know, the documentation is the correct one. Please notice however, that there is a known issue in the Prism 4.1 MVVM Quickstart documentation since it is out of sync with the Quickstart source code. You can find more information in the following Work Item:

However, the ViewModel base class is indeed not available on the Quickstart nor the Prism library. Instead, you will find that the view model classes from the Quickstart inherit from NotificationObject which is defined in the Prism.ViewModel namespace from the Prism Library and works as the replacement for the ViewModel base class.

Consider then referring to the NotificationObject class instead of the ViewModel base class. Take into account that NotificationObject class does not provide the ExecuteOnIUThread method from ViewModel base class. You can find more information about NotificationObject in the Prism Library source code.


Federico Martinez
Aug 9, 2013 at 11:56 AM
Thanks Federico. As I am still new to this I got confused. I have to say though the main Prism Documentation, Hands-on Labs and various Quickstarts show different implementation on how for instance Modules are created and initialized. This is different to Unity/MEF implementation though and I found this confusing.
Aug 9, 2013 at 4:01 PM

As you correctly pointed out, there are several ways available to register and initialize modules which cover the general scenarios in a Prism application. Every alternative is mentioned in the Prism documentation, although many of them are not described in deep. However, Hands-on-Labs and QuickStarts could make use of those alternatives in order to provide a better exemplification on how to use them.

Glad we could help you,

Federico Martinez