我正在尝试创建一个DataTemplate
可以为 a 的所有列共享的GridView
,它的列是动态创建的(通过代码隐藏)。
我想DataTemplate
在 XAML 中创建资源,而不是完全在代码隐藏中创建,但我不知道如何让绑定正常工作。
以下是我能想到的最接近的(但不起作用):
<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);
}