Привязка определений полей XamDataGrid для просмотра модели
Я пытаюсь создать приложение, которое будет отображать разные столбцы в одной и той же XamDataGrid для разных проектов. Вот пример:
public class Project
{
public ICollection<Person> People { get; private set; }
public string DisplaySpec { get; private set; }
}
public class Person{
{
public Name Name { get; set; }
}
public class Name
{
... a bunch of dynamic properties that vary by project...
}
Я могу без проблем искать свойства для каждого Имени динамически, и если я напишу Xaml и скомпилирую его в настоящий исполняемый файл, я смогу отобразить их. Но у каждого проекта есть свой список полей для привязки, и я хочу, чтобы они могли вводить имена полей для отображения.
Есть ли какой-нибудь простой способ, которым я могу позволить им указать имена полей, которые они хотят использовать?
1 ответ
Сами поля не могут быть связаны. Наилучшими вариантами являются либо автоматическое создание полей, либо наличие в коде метода, который бы добавлял поля, необходимые динамически. Если вы ищете решение, с помощью которого вы можете использовать привязку в XAML, вы можете поместить логику для добавления полей в поведение в сетке, которое предоставляет свойство, с которым вы можете связать свой список.
Для автоматической генерации полей вам нужно установить для AutoGenerateFields в FieldLayoutSettings значение True.