El texto TextBlock no se centra verticalmente dentro de DataGridCell

Estoy creando unDataGrid en C # (desde código subyacente / no XAML), pero no importa lo que intente, no puedo hacer que el texto se centre verticalmente en las celdas de datos:

Empecé con:

var CellStyle = new Style(typeof(DataGridCell)) {
    Setters = {
        new Setter(TextBlock.TextAlignmentProperty, TextAlignment.Center)
    }
};

Que se dirige correctamente a la celda y centra horizontalmente el texto (según la captura de pantalla anterior).

Tratando de centrar verticalmente el texto, sé que unTextBlock no admite la alineación vertical de contenido, solo su propia alineación vertical dentro de un elemento padre.

Por esta pregunta (Alineación vertical de texto en WPF TextBlock) Traté de fingir usandoPadding:

var CellStyle = new Style(typeof(DataGridCell)) {
    Setters = {
        new Setter(TextBlock.PaddingProperty, new Thickness(5)),
        new Setter(TextBlock.TextAlignmentProperty, TextAlignment.Center)
    }
};

Esto no hizo ninguna diferencia. Entonces probé esto:

var CellStyle = new Style(typeof(DataGridCell)) {
    Setters = {
        new Setter(DataGridCell.VerticalContentAlignmentProperty, VerticalAlignment.Center),
        new Setter(TextBlock.TextAlignmentProperty, TextAlignment.Center),
        new Setter(TextBlock.VerticalAlignmentProperty, VerticalAlignment.Center)
    }
};

Lo que resultó en:

Agregandonew Setter(DataGridCell.HeightProperty, 50d), resultados en la captura de pantalla # 1.

¿Cómo puedo centrar verticalmente el texto en mis celdas de datos?

Respuestas a la pregunta(2)

Su respuesta a la pregunta