Разница между DataTemplate и ContentTemplate в WPF заключается в их назначении и области применения.
DataTemplate — это фрагмент XAML-разметки, который определяет, как должен быть отображён привязанный объект данных. 3 Обычно такие шаблоны связаны с самими данными, а не с привязанным элементом управления. 2 DataTemplate позволяет менять внешний вид данных и чаще всего используется с такими элементами управления, как ListBox, ComboBox, ListView и DataGrid. 4
ContentTemplate, в свою очередь, применяется к элементам управления содержимым. 3 С его помощью отображается то, что помещается в свойство Content. 3
Таким образом, DataTemplate больше ориентирован на работу с самими данными, а ContentTemplate — с содержимым элементов управления.