私はDataTemplatesを使用するListViewを持っています。リストビューでこれを使用すると、XAML上の列が定義され、どのように動作するかが分かります。私のDataTemplatesは私のビューで使用されます。しかし、2番目のListViewで同じDataTemplatesを使用したい場合、ListViewに新しい列を追加すると、DataTemplateは使用されません。私は何をすべきか?WPF GridViewColumn.CellTemplate DataTemplate ContentPresenter
最初のListViewのためのXAMLのコードは次のようになります。私は2番目のListViewの列を生成するために使用
<GridViewColumn x:Name="lvSecondColumn" Header="Value" Width="200">
<GridViewColumn.CellTemplate>
<DataTemplate>
<ContentPresenter Content="{Binding}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
私のコードは次のとおりです。
ノーあり参照WPFInspectorでDataColumn dc = (DataColumn)colum;
GridViewColumn column = new GridViewColumn();
column.DisplayMemberBinding = new Binding(dc.ColumnName));
column.Header = dc.ColumnName;
TestColumns.Columns.Add(column);
TestListView.ItemsSource = dt.DefaultView;
私の動的生成列のContentPresenter。 Picture from missing ContentPresenter from WPFInspector ダイナミック列にContentPresenterを追加するにはどうすればいいですか?
あなたの答えをありがとう。そしてこれは正しい。このために私はテストのために2 ListViewsを使用しています。 XAMLからBindingを使用して動作するものです。他のListViewは、ランタイム時に列を設計しますが、これは正しく機能しません。 ".ToString()"という内容のテキストボックスのみを生成します。しかし、私は動的なテキストボックスでも私のDataTemplateが使用されます。デフォルトのテキストボックスではありません。では、 をコード内でどのように設定するのですか? –
CPipe
xamlReaderを使用して、列ごとにデータテンプレートを動的にコンパイルできます。私はそれを答えに加えました。 – Dmitry
あなたの問題を解決しましたか? – Dmitry