Ciao.
A quanto suggerito da RobyConTe vorrei aggiungere che .......
Per rendere merito al pattern MVVM è necessario un motore di DataBinding molto potente, pertanto, mi sento di poter dire che sia più orientato ad applicazioni WPF dove è già stata, tra le altre cose, implementata una netta separazione concettuale tra Design e logica Business dell'applicazione(con l'integrazione del linguaggio XAML) motivo per cui è necessario ricorrere a tecniche di DataBinding impensabili per WindowsForms.
Immagina che una semplicissima gestione dell'evento Click di un button nel code behind di una pagina, vorrebbe dire aver già violato il pattern MVVM.
Ciao.