2012-09-29 40 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

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