【发布时间】:2017-10-27 10:13:47
【问题描述】:
我有一个使用 DataTemplates 的 ListView。如果我在 ListView 中使用它定义了 XAML 上的列,它应该如何工作。在我看来,我的 DataTemplates 被使用。但是,如果我想在第二个 ListView 中使用相同的 DataTemplate,我将新列添加到 ListView,它不会使用我的 DataTemplate。我该怎么办?
第一个 ListView 的 XAML 代码如下所示:
<GridViewColumn x:Name="lvSecondColumn" Header="Value" Width="200">
<GridViewColumn.CellTemplate>
<DataTemplate>
<ContentPresenter Content="{Binding}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
我用于在第二个 ListView 中生成列的代码是:
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;
在 WPFInspector 中,我看到动态生成的列中没有 ContentPresenter。 Picture from missing ContentPresenter from WPFInspector 如何将 ContentPresenter 添加到我的动态列???
【问题讨论】:
标签: wpf datatemplate datagridviewcolumn contentpresenter