1

我有一个ListView在哪里GridView.ColumnHeaderTemplate

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

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

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

为什么?我怎么解决这个问题?

4

2 回答 2

1

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

<DataTemplate x:Key="HeaderTemplate">
    <TextBlock Text="{Binding}" />
</DataTemplate>
于 2012-09-30T07:02:07.500 回答
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>
于 2012-09-30T08:34:43.013 回答