GridView不显示标题

时间:2012-09-29 19:14:30

标签: c# wpf templates listview gridview

我有一个ListView,其中GridView.ColumnHeaderTemplate是:

<DataTemplate x:Key="HeaderTemplate">
    <TextBlock />
</DataTemplate>

但是当我添加新列时,标题不显示任何文本:

GridViewColumn column = new GridViewColumn();
column.Header = new TextBlock { Text = "my header" };
MyGridView.Columns.Add(column);

为什么呢?我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

您是否忘记添加Text属性绑定?

<DataTemplate x:Key="HeaderTemplate">
    <TextBlock Text="{Binding}" />
</DataTemplate>

答案 1 :(得分:0)

为什么需要显式声明ColumnHeaderTemplate,因为默认情况下它是textBlock?只需摆脱模板并将代码隐藏更改为此 -

GridViewColumn column = new GridViewColumn();
column.Header = "my header";
MyGridView.Columns.Add(column);

简单set your string to the Header属性。

修改

如果您想要使用背景和字体样式,则需要保留textBlock。因此,请按照上面的建议保留代码,即只使用字符串和xaml绑定文本属性设置标题 -

<DataTemplate x:Key="HeaderTemplate">
    <TextBlock Text="{Binding}" Background="Red" />
</DataTemplate>