title: MVVM way to use different controls for editing different objects
body: <p>I need to design a form with a treeview in the left and a container for some other control in the remaining area. Whenever user selects an item in the treeview some custom control appears on the right. For example, let's say that the treeview contains values "Audio settings" and "Video settings", and I have two controls that can be bound to these settings and I want to display them on the form when needed.</p>
  
  <p>Now, from what I've read about MVVM, I shouldn't have properties that will return UserControls or DataTemplates, am I right? It will be messing with "VM shouldn't know implementation details of the view" as I see it. So, how do I handle this situation properly in terms of MVVM? Should I maybe use converters for this and if so, how would it look?</p>
  
  <p>I can't provide any code at the moment (mostly because there isn't any), but I will try to clarify the problem if needed.
  Thanks in advance.</p>