GridViewColumn CellTemplate Code Hinter

Ich habe eine listView, die ich konstruiere zur Laufzeit, d.h. die Spalten sind nicht bekannt, zur compile-Zeit.

Ich möchte ein DataTemplate zu den Zellen, so dass Sie die TextAlignment-Eigenschaft TextAlignment.Recht. Beim anlegen der Spalten:

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

Den Beispiel-code von oben funktioniert nicht richtig, wie der Inhalt der Zelle ist immer noch Links ausgerichtet.

InformationsquelleAutor t.smith.htc | 2011-06-14
Schreibe einen Kommentar