GridViewColumn CellTemplate Código atrás

Tenho um listView que construo em tempo de execução, ou seja, as colunas não são conhecidas em tempo de compilaçã

Gostaria de aplicar um DataTemplate às células, de modo que a propriedade TextAlignment seja TextAlignment.Right. Ao criar as colunas:

foreach (var col in dataMatrix.Columns)
{
    gridView.Columns.Add(
        new GridViewColumn
        {
            Header = col.Name,
            DisplayMemberBinding = new Binding(string.Format("[{0}]", count)),
            CellTemplate = getDataTemplate(count),
        });
    count++;
}

private static DataTemplate getDataTemplate(int count)
{
    DataTemplate template = new DataTemplate();
    FrameworkElementFactory factory = new FrameworkElementFactory(typeof(TextBlock));
    factory.SetValue(TextBlock.TextAlignmentProperty, TextAlignment.Right);
    template.VisualTree = factory;

    return template;
}

O código de exemplo acima não funciona corretamente, pois o conteúdo da célula ainda está alinhado à esquerd

questionAnswers(2)

yourAnswerToTheQuestion