小编t.s*_*htc的帖子

GridViewColumn CellTemplate代码背后

我有一个我在运行时构造的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;
}
Run Code Online (Sandbox Code Playgroud)

上面的示例代码无法正常工作,因为单元格内容仍然与左侧对齐.

wpf listview code-behind datatemplate gridviewcolumn

5
推荐指数
2
解决办法
9528
查看次数