or
var columns = mainViewModel.Records.First()
.Properties
.Select((x, i) =>
new
{ Name = x.Name, DataType = x.DataType, Index = i })
.ToArray();
foreach
(var column
in
columns)
{
var binding =
new
Binding(
string
.Format(
"Properties[{0}].Value"
, column.Index));
GridViewDataColumn col =
new
GridViewDataColumn();
col.UniqueName = column.Name;
col.Header = column.Name;
col.DataMemberBinding = binding;
col.DataType = column.DataType;
col.IsSortable =
true
;
fleetGrid.Columns.Add(col);
}