У меня та же проблема, и я должен сказать, что документация, которую Microsoft предоставляет для WPF DataGrid, является ПОЛНОСТЬЮ РУБИНСКОЙ. Я искал в интернете пример того, как это сделать, и обнаружил, что НЕТ, так что контроль явно неадекватен.
Единственное, что, похоже, работает на WPF Datagrid - это примитивные типы.
Я попытался сделать что-то простое, например создать DataTable моего пользовательского типа (например, Person) с некоторыми свойствами. Я испробовал все уловки, которые я читал, чтобы использовать DataGridTemplateColumn программно при привязке DataTable к WPF DataGrid, и во всех примерах даны ответы политика (таким образом, избегая реального вопроса).
Одно решение объявляет DataTemplate в XAML во время разработки, что бесполезно, поскольку DataTable является динамическим (поэтому не является ответом).
Самое близкое, что я получил, - это создание ObservableCollection и привязка его к DataGrid (опять же не реальный ответ).
Кроме этого. Ничто не связывает, независимо от того, сколько вещей я изменил или попробовал. Поэтому я получаю пустые элементы управления, что довольно раздражает.