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 に答える