У меня есть список, который содержит элементы словаря. Это значит
Список [0] = Элемент словаря => Элемент [0] = идентификатор, Элемент [1] = Имя, Элемент [2] = Количество.
Мне нужно показать это в элементе управления ListView в виде сетки. Словарь может варьироваться.
ОБНОВЛЕНИЕ:
Каждый элемент в списке выглядит так:
["_ id"] = "11212131"
["Title"] = "это заголовок"
["DateCreated"] = "некоторая дата"
Элементы внутри словаря могут быть разными.
ОБНОВЛЕНИЕ 2:
Я использую следующий код для создания динамического элемента управления Gridview, а затем добавляю столбцы в элемент управления GridView. Это работает, но теперь есть длинная горизонтальная линия тех же повторяющихся столбцов. Мне нужно отобразить имя столбца и под ним данные, которые принадлежат этому столбцу.
var gridview = new GridView();
foreach (var o in objs)
{
var dic = o as Dictionary<String, Object>;
var enumerator = dic.GetEnumerator();
while (enumerator.MoveNext())
{
var current = enumerator.Current;
var gridViewColumn = new GridViewColumn();
gridViewColumn.Header = current.Key;
var binding = new Binding(current.Key);
//binding.Source = current;
gridViewColumn.DisplayMemberBinding = binding;
gridview.Columns.Add(gridViewColumn);
}
// new row
}
lvCollections.View = gridview;
ОБНОВЛЕНИЕ 3:
Я довольно близко. Это работает, но отображает только одну длинную строку с повторяющимися столбцами.
var gridview = new GridView();
foreach (var o in objs)
{
var dic = o as Dictionary<String, Object>;
var enumerator = dic.GetEnumerator();
while (enumerator.MoveNext())
{var gridViewColumn = new GridViewColumn();
var current = enumerator.Current;
gridViewColumn.Header = current.Key;
var binding = new Binding();
binding.Source = current;
binding.Path = new PropertyPath("Value");
gridViewColumn.DisplayMemberBinding = binding;
gridview.Columns.Add(gridViewColumn);
}
// new row
}
lvCollections.ItemsSource = objs;
lvCollections.View = gridview;