It is always good to use 1
could be in a single.
There can be only one viewmodel for the view at the top level, acting as the datacontext. You can switch between viewmodels. If nothing is specified on the top level, and the window is divided into sections (or user-controls), then each section can have its viewmodel.
only one
Only one viewmodel can used for view. Viewmodel for Views only not for Models. Viewmodel contains one or more models.
In Wpf DataContext of the view can have alone a son for what the view can make refencia to a single class ViewModel