title: In MVVM are DataTemplates considered Views as UserControls are Views?
body: <p>In MVVM, every View has a ViewModel. A View I understand to be a <strong>Window, Page or UserControl</strong> to which you can attach a ViewModel from which the view gets its data.</p>
  
  <p>But a <strong>DataTemplate</strong> can also render a ViewModel's data.</p>
  
  <p>So I understand a DataTemplate to be another "View", but there seem to be <strong>differences</strong>, e.g. Windows, Pages, and UserControls can define their own .dlls, one type is bound with DataContect the other through attaching a template so that Windows, Pages, UserControls can can be attached to ViewModels dynamically by a <strong>ServiceLocator/Container</strong>, etc.</p>
  
  <p><strong>How else are DataTemplates different than Windows/Pages/UserControls when it comes to rendering a ViewModel's data on the UI? And are there other types of "Views" other than these four?</strong></p>