WPF в виде сетки с динамическим числом столбцов - PullRequest
0 голосов
/ 29 августа 2018

Мне нужно создать элемент управления сеткой в ​​пользовательском элементе управления. У меня проблемы, потому что столбцы не известны заранее и поступают из данных, к которым я привязываю. Форма данных выглядит следующим образом ...

public class SummaryRow
{
    public string Name { get; set; }
    public GridCellValue[] Values { get; set; }

    public class GridCellValue
    {
        public string Value { get; }
        public string Status { get; }

        public GridCellValue(string value, string status)
        {
            Value = value;
            Status = status;
        }
    }
}

Так что есть экземпляр этого класса на строку в сетке. Я могу изменить форму этого класса, если потребуется, если есть способ структурировать это, чтобы упростить его.

Первый столбец будет иметь свойство Name и является просто текстовым блоком. Остальные столбцы должны быть шаблоном (таким же шаблоном), как и я, чтобы настроить их на основе свойства Status. За исключением первого столбца, они все одного и того же шаблона - просто связаны с различными элементами массива Values. У меня также есть другой строковый массив в viewmodel с именами заголовков.

Я не возражаю, если это Grid, ItemsControl, DataGrid или комбинация - но она не должна выглядеть как "сетка данных" (т. Е. Электронная таблица;) ). * * 1016

Я пробовал это решение , но это не добавило новые столбцы в таблицу данных - но просто показало смещенную сетку в одном столбце таблицы данных.

Когда дело доходит до этого, я не возражаю против программного добавления столбцов в коде. Я просто не знаю, как настроить привязку для этого, чтобы каждый столбец ссылался на элемент в массиве Values в модели.

У кого-нибудь есть идеи? Это тоже была такая простая проблема!

...