我正在尝试创建一个 DataTemplate
,可以为 GridView
的所有列共享,它的列是动态创建的(通过代码隐藏) .
我想在XAML中创建 DataTemplate
作为资源而不是完全在代码隐藏中,但我无法弄清楚如何使绑定正常工作 .
以下是我能想到的最接近的(但不起作用):
<DataTemplate x:Key="ListViewCellTemplate">
<TextBlock Text="{Binding RelativeSource={RelativeSource AncestorType={x:Type GridViewColumn}}}" />
</DataTemplate>
此模板被指定为每列的 CellTemplate
,如下所示:
BindableDataTable table = this.DataContext as BindableDataTable;
foreach (BindableDataColumn c in table.Columns)
{
GridViewColumn col = new GridViewColumn();
col.Header = c.ColumnName;
col.CellTemplate = this.FindResource("ListViewCellTemplate") as DataTemplate;
v.Columns.Add(col);
}
2 回答
回答:
在资源中设置DataTemplate
创建网格视图并使列继承此datatemplate
此示例显示如何在GridViewColumn中创建双击行 . 只需根据需要更改DataTemplate即可
我有完全相同的问题 .
我希望能够将数据模板应用于不同的列,但每列都绑定到一个单独的数据字段 .