Hello,
I like MVVM pattern, once you start using it, you get addicted to it.
I know that in perfect world your View code-behind is almost empty (maybe some code in constructor) and every aspect of View is being manipulated from ViewModel.
But there are times when creating new fields, properties,commands in ViewModel creates more code than implementing same thing in event handler.
At moment I stick to following rule:
If event handler code manipulates very small portion of it's view (for example button click event handler increases font of certain TextBlock that's located on the same view) then it's OK to implement logic inside event handlers. But if View needs to manipulate business logic or access resources that are outside of view, then I assign these responsibilities to ViewModel.
What do You think about my approach?
What do You try to avoid when using event handlers and ViewModel?
What best practices can You recommend when using MVVM pattern?