2012-09-29 39 views
1

我有一个ListView其中GridView.ColumnHeaderTemplate是:GridView控件不显示页眉

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

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

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

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

回答

1

你忘了添加文本属性绑定?

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

为什么你需要ColumnHeaderTemplate显式声明,因为默认情况下它的textBlock?刚刚摆脱模板的,改变你的代码隐藏这个 -

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

简单set your string to the Header财产。

编辑

在你想要的背景和字体风格发挥的情况下,你需要保持文本块。因此,保持代码背后的建议以上即刚刚成立以字符串的头部和XAML中绑定文本属性 -

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

这样您column.Header是一个字符串,而不是一个TextBlock。而且我无法更改背景或FontFamily(例如)。 – Nick

+0

更新了答案。看看它是否有帮助.. :) –