Я уже давно борюсь с этим вопросом, и после многих бесплодных поисков я нашел приемлемую замену.
Для всех, кто ищет это: Попробуйте создать собственную реализацию DataGridBoundColumn.Вам нужно будет переопределить только два метода: GenerateElement и GenerateEditingElement.
Пример:
protected override FrameworkElement GenerateElement(DataGridCell cell, object dataItem)
{
Label element = new Label();
element.SetBinding(Label.ContentProperty, Binding);
return element;
}
Использование:
<DataGrid>
<DataGrid.Columns>
<DataGridCustomColumn Binding="{Binding SomeProperty}" />
<DataGridCustomColumn Binding="{Binding OtherProperty}" />
</DataGrid.Columns>
</DataGrid>
Хотя я изначально намеревался использовать шаблоны, ярешили создать элементы в коде позади, поскольку мои потребности довольно просты;тем не менее, я не вижу причин, по которым это не может быть адаптировано для работы с DataTemplates при правильной регистрации DependencyProperty.