Ваш вопрос о DataGrid или UserControl?
В моем понимании, UserControl находится в каждой строке DataGrid. Или мы можем сказать, что родительский элемент UserControl является элементом DataGrid, а привязка DataGrid выполняется в коде.
Независимо от того, определена ли привязка данных DataGrid (не DataGridCell) в коде или в XAML, единственное, что вам нужно учитывать, - это данные в каждой строке, на которые влиял содержащийся элемент (UserControl).
Итак, вам нужно только подумать, «как отображать все данные в UserControl», не связанные с DataGrid.
Чтобы добавить UserControl в DataGridCell, эта ссылка даст вам отличную ссылку: http://www.wpftutorial.net/DataGrid.html