C# WPF datagrid: Броят на колоните винаги е равен на 0

Създадох WPF takelit datagrid в C# и ItemsSource е зададен в XAML. Колоните се генерират автоматично.

Опитвам се да направя мрежа от данни, която използва ObservableCollection, почти като това, което е на това уебсайт.

В долната част ще намерите пример, който можете да изтеглите (ето връзка)

Проблемът ми е, че се опитвам да променя определени свойства на конкретна колона (пример: Datagrid.Columns[index].Property), но това изглежда не работи, тъй като броят на колоните винаги е равен на 0. Следователно не мога да променя свойствата с помощта на индекса, който искам да използвам, защото изглежда, че няма нищо в колекцията Columns. И все пак по време на изпълнение има колони, които се показват.

И така, как е възможно броят на колоните да е равен на 0?

и

Как мога да променя свойствата на конкретна колона в моята ситуация?


person Partial    schedule 08.08.2009    source източник


Отговори (2)


Най-накрая открих как! Причината, поради която броят на колоните е равен на 0, е, че колоните все още не са генерирани. За да променя свойствата, трябва да използвам събитието AutoGeneratedColumns и да променя свойствата там.

person Partial    schedule 08.08.2009

Според опит от няколко форума, колоните не са достъпни чрез свойството Columns, ако са автоматично генерирани. Не знам защо е така, но се е виждало и преди.

person Kenan E. K.    schedule 08.08.2009
comment
Свойствата на колони при определен индекс са достъпни, но няма колона в колекцията колони, защото те все още не са генерирани. Така че ще се провали, ако се опитате да го направите. - person Partial; 09.08.2009