Я пытаюсь создать сетку с групповыми макетами, которая будет иметь разное количество полос и столбцов каждый раз, когда сетка загружается. Это означает, что источник данных для сетки и столбцов должен быть связан во время выполнения.
У меня 3 класса, А, В, С.
A имеет некоторые свойства и список типа B.
B имеет некоторые свойства и список типа C.
C имеет несколько свойств, одним из которых является MyName (общедоступное).
Моим источником элементов для элемента управления сеткой является список класса A, поскольку я намереваюсь показать некоторые значения из всех классов в этой иерархии.
List<A> abc = new List<A>();
...
MyGrid.ItemsSource = abc;
Теперь при каждой загрузке сетки я удаляю все существующие бэнды и столбцы и создаю их заново (поскольку количество бэндов и столбцов меняется в зависимости от внешнего события). В процессе мне нужно привязать один из столбцов к C.MyName, однако при попытке сделать это:
GridColumn newColumn = new GridColumn();
newColumn.Binding = new Binding("B.C.MyName");
newColumn.Header = "Name field";
myBand.Columns.Add(newColumn);
MyGrid.Bands.Add(myBand);
...
Я не вижу записи данных в колонке, но колонка вместе с бэндом присутствует в сетке. Ряды пустые.
Я относительно новичок в концепции Binding и не могу понять, почему это не работает. Кто-нибудь может помочь?
Спасибо.
Header
вместоFieldName
. ИспользованиеFieldName
будет конфликтовать с привязкой. - person DonBoitnott   schedule 26.11.2018Header
вместоFieldName
также не помогло. Правилен ли мой подход к связыванию? - person aman   schedule 27.11.2018