MVVM では、すべてのビューに ViewModel があります。ビューは、ビューがデータを取得するViewModelをアタッチできるウィンドウ、ページ、またはユーザーコントロールであると理解しています。
ただし、DataTemplateは ViewModel のデータをレンダリングすることもできます。
したがって、DataTemplate が別の「ビュー」であると理解していますが、違いがあるようです。たとえば、Windows、Pages、および UserControls は独自の .dll を定義できます。一方のタイプは、テンプレートをアタッチすることで DataContect にバインドされ、Windows、Pages 、 UserControls は、 ServiceLocator/Containerなどによって ViewModels に動的にアタッチできます。
UI で ViewModel のデータをレンダリングする場合、DataTemplates は Windows/Pages/UserControls とどのように異なりますか? また、これら 4 つ以外の「ビュー」の種類はありますか?