I am working with my friend on Enterprise project related to dealer management system
The view is your screen. It’s all about showing stuff and allowing the user a connection to commands – but not the actual commands.
The model is the data. So your types would be in here.
The viewmodel is about everything else really. It translates data between the UI and the model and it carries out the commands.
ViewModel is abstraction of view
viewModel doesn’t need a reference to view but view consume properties of viewmodel which, in turn, exposes data contained in model objects and other state specific to the view
The bindings between view and ViewModel are simple to construct because a ViewModel object is set as the DataContext of a view If property values in the ViewModel change, those new values automatically propagate to the view via data binding.
When the user clicks a button in the View, a command on the ViewModel executes to perform the requested action. The ViewModel, never the View, performs all modifications made to the model data.


Use the Highlighter
This website now has an AutoPublish widget: