Привязка определений полей 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.

Другие вопросы по тегам