Well, after fiddling around with this problem for several hours I decided to resolve the issue by replacing the column entirely.
private void OnGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
if (e.PropertyDescriptor is PropertyDescriptor descriptor)
{
e.Column.Header = descriptor.DisplayName ?? descriptor.Name;
if (descriptor.DisplayName == "Description")
{
var column = new DataGridTemplateColumn();
var element = new FrameworkElementFactory(typeof(TextBlock));
var binding = new Binding("Description");
var template = new DataTemplate();
element.SetBinding(TextBlock.TextProperty, binding);
element.SetValue(TextBox.TextWrappingProperty, TextWrapping.Wrap);
template.VisualTree = element;
template.Seal();
column.CellTemplate = template;
column.Header = e.Column.Header;
column.Width = 300;
e.Column = column;
}
}
else
e.Cancel = true;
}
CLICK HERE to find out more related problems solutions.