GridViewColumn CellTemplate Code Behind

У меня есть listView, который я создаю во время выполнения, то есть столбцы не известны во время компиляции.

Я хотел бы применить DataTemplate к ячейкам, чтобы свойство TextAlignment было TextAlignment.Right. При создании столбцов:

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;
}

Приведенный выше пример кода не работает должным образом, поскольку содержимое ячейки все еще выровнено по левому краю.

5
задан H.B. 14 June 2011 в 22:50
поделиться