protected override void OnAutoGeneratingColumn(DataGridAutoGeneratingColumnEventArgs e) { if (e.PropertyName == "Description") { e.Cancel = true; DataGridTemplateColumn descColumn = new DataGridTemplateColumn(); DataTemplate headerTemplate = new DataTemplate(); FrameworkElementFactory headerFactory = new FrameworkElementFactory(typeof(TextBlock)); headerTemplate.VisualTree = headerFactory; headerFactory.SetValue(TextBlock.TextProperty, e.PropertyName); DataTemplate textTemplate = new DataTemplate(); FrameworkElementFactory textFactory = new FrameworkElementFactory(typeof(TextBlock)); textTemplate.VisualTree = textFactory; textFactory.SetBinding(TextBlock.TextProperty, new Binding(e.PropertyName) { Mode = BindingMode.OneWay }); textFactory.SetValue(TextBlock.TextAlignmentProperty, TextAlignment.Center); descColumn.Width = SetColumnWidth(25); descColumn.HeaderTemplate = headerTemplate; descColumn.CellTemplate = textTemplate; Columns.Add(descColumn); } else { base.OnAutoGeneratingColumn(e); } } How to center the title? As with the cell does not work