title: How to bind DataTemplate datatype to interface?
body: <p>I am writing a composite loosely coupled MVVM WPF application and child VMs in a parent VM are interfaces rather than class instances, e.g.</p>
  
  <pre><code>public IChildViewModel { get; set; }
  </code></pre>
  
  <p>Now how do I render this property using a DataTemplate? like:</p>
  
  <pre><code>&lt;DataTemplate DataType="{x:Type contracts:IChildViewModel}"&gt;
  </code></pre>
  
  <p>I understand due to the nature of interfaces (multiple inheritance etc.) WPF does not allow this direct binding. But as interfaces should be used widely in loosely coupled applications, is there any workaround to bind DataTemplate to interfaces? Thanks.</p>