У меня вроде концептуальный вопрос. Я нахожусь в процессе упаковки некоторых классов статистики, которые я написал, в WPF.
Для этого у меня есть две DataGrid (-Views, в настоящее время в WinForms). В одной DataGrid каждая строка представляет столбец в другой. Там я могу установить различные переменные (как в математических / статистических переменных) с такими полями, как «Заголовок», «Тип данных», «ValidationBehaviour», «DisplayType». Там я также могу настроить, как это должно отображаться. Для некоторых столбцов можно автоматически установить ComboBoxColumns, для некоторых TextBoxColumns и т. Д. И т. Д.
Итак, теперь, когда я настроил эти столбцы, я могу перейти к другой сетке и ввести свои данные. Я, например, мог бы сгенерировать (в таблице 1) один столбец, называемый «Годовой валовой оклад», с вводом числовых значений. Другой столбец называется «Образование» с «0 = NoEducation», «1 = Уровень колледжа», «3 = Универсальный» и т. Д. Эти метки отображаются в виде текста в поле со списком, и моя подсистема статистики затем выбирает соответствующее значение (0-3 ) для расчетов (т.е. порядковые, номинальные переменные).
Тааак. В WinForms я мог в основном генерировать все столбцы вручную в коде и затем добавлять свои данные в соответствующие ячейки / строки. Сейчас в WPF я подумал, что это легко реализовать. Однако вчера я начал с ICustomPropertyDescriptor, который (возможно, я был слишком толстым) не дал мне результатов, которые я искал.
По сути, мне просто нужно иметь возможность динамически генерировать столбцы (и строки) с различными Layout, Controls (ComboBox, simple Input, DateTimes) на основе имеющихся у меня данных. Но я не знаю, как это сделать?
Итак, вот вкратце:
DataGrid 1
- Цель - отобразить столбцы, указанные в DataGrid 2
- В строках пользователь может добавлять любые данные в строках ниже столбцов, что разрешено в соответствии со спецификациями столбцов
DataGrid 2
- Каждая строка в этой сетке представляет столбец в DataGrid 1
- Содержит поля, такие как Имя / Заголовок, Тип данных, Поведение проверки, Значение по умолчанию, Форматирование данных и т. Д.
- Также содержит функцию, позволяющую настроить способ ее отображения. Пользователь может выбрать, например, ComboBoxColumn (а также добавить доступные параметры), DateTime, обычный TextBox, CheckBox и т. Д.
- После завершения добавления строки она автоматически появится как новый столбец в DataGrid 1
Буду признателен за любой указатель в правильном направлении. Спасибо, очень, очень заранее! :)