我有一个ListView
,其中GridView.ColumnHeaderTemplate
是:
<DataTemplate x:Key="HeaderTemplate">
<TextBlock />
</DataTemplate>
但是当我添加新列时,标题不显示任何文本:
GridViewColumn column = new GridViewColumn();
column.Header = new TextBlock { Text = "my header" };
MyGridView.Columns.Add(column);
为什么呢?我该如何解决这个问题?
答案 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>