Привязать DataGrid к матрице - PullRequest
1 голос
/ 23 сентября 2011

У меня есть «матричный» объект, подобный следующему:

public class Matrix
{    
   public Dictionary<string, string> PropertyBags { ... }
   // Sample Property Bag: [{"Column A", "A"}, {"Column B", "B"}]

   public List<PropertyBags Row { ... }    
}

Интересно, каково практическое решение для отображения моих объектов в WPF DataGrid?

Спасибо.

1 Ответ

0 голосов
/ 23 сентября 2011

Да, вы можете сделать это в коде Grid View. Идея состоит в том, чтобы связать пользовательский набор данных со свойством grid.DataSource, а затем динамически добавлять столбцы, см. Примеры по ссылкам ниже. Также вторая ссылка дает хороший пример использования свойства зависимости, которое привязано к ItemsSource сетки в XAML, также DP предоставляет OnPropertyChangedCallback, поэтому каждый раз, когда вы обновляете набор данных новым значением:

  • PropertyChanged получить рейз, который автоматически вызывает обратный вызов
  • При обратном вызове вы заполняете grid.DataSource новыми элементами данных
  • Пользовательский интерфейс обновляется, потому что в сетке XAML есть

Ссылки на примеры:

...