私は、(ViewModelからのイベントに基づいて)DataGrid列を動的に作成し、既存のDataGridにプログラムで追加しています。各列では、xamlで識別されたDataTemplateに汎用ヘッダーテンプレートを設定して使用します。 DataTemplateには、DataGrid列の作成時に内容を変更する必要がある2つのラベルが含まれています。これはどのようにして行われますか?私は、DataTemplateがContentPresenterを使用しているが、動的に作成されたDataGridカラム内でアクセスするのに問題があることを理解しています。コードは以下の通りである:DataGrid列ヘッダーで使用されるDataTemplate内からラベル内容をプログラムで変更する
XAML:(データグリッド列ヘッダをフォーマットするために使用されるテンプレート):
<DataTemplate x:Key="columnTemplate">
<StackPanel>
<Label Padding="0" Name="labelA"/>
<Separator HorizontalAlignment="Stretch"/>
<Label Padding="0" Name="labelB"/>
</StackPanel>
</DataTemplate>
C#の:(動的データグリッド列を作成し、既存のデータグリッドに追加するために使用される)
var dataTemplate = FindResource("columnTemplate") as DataTemplate;
var column = new DataGridTextColumn();
column.HeaderTemplate = dataTemplate;
DataGrid1.Columns.Add(column);
私はlabelAとlabelBの両方にアクセスして内容を変更したいと思います。
を使用し、私はこれを試してみた、それは素晴らしい作品。再度、感謝します。 –