MVVV views / viewmodel WPF mediator : how to tame a grid without any codebehind

So we're all doing WPF/MVVM by now, great, at least we get some nice declarative UI paradigm, where everything is concise and cleanly separated, your XAML doesn't have any codebehind and all is well.

That's until you start using third-party components in your views (say, a grid for example). Most vendors don't ship MVVM-friendly WPF controls, so to interact with these controls, you ususally have two choices:
  1.  Wrapping your control, this never ends nicely
  2. Add event handlers in your view to take care of your components.
I am not satisfied by either method, as wrapping a grid can only end in tears of blood, and event handlers sprinkled all throughout your view will break separation of concern, your view, on top of having an ugly codebehind, now potentially has to pamper serveral controls. And these event handlers will end-up being copypasted everywhere.

Let's see if there isn't a third way we could use, where we still get the benefits of custom event handling without anything seeping in the view itself.