К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

WPF DataGrid

Гость
0 - 03.08.2013 - 15:29
Добрый день! Пытаюсь разобраться с компонентом DataGrid в WPF.

Приведу простой пример, который, почему то, у меня не работает:
(Подчеркну, что нужна именно динамически определенные столбцы, а не предопределенная в XAML структура)

struct AgendaRecord
**
public int id;
public string Name;
**

List<AgendaRecord> AR = new List<AgendaRecord>();

private void AddRecords()
**
AgendaRecord ar1 = new AgendaRecord();
ar1.id = 0;
ar1.Name = "Иван";

AgendaRecord ar2 = new AgendaRecord();
ar2.id = 1;
ar2.Name = "Петр";

AgendaRecord ar3 = new AgendaRecord();
ar3.id = 2;
ar3.Name = "Николай";

AR.Add(ar1);
AR.Add(ar2);
AR.Add(ar3);
**



private void ShowAgenda()
**
DataGridTextColumn idColumn = new DataGridTextColumn();
idColumn.Header = "ID";
idColumn.Binding = new Binding("id");
dg.Columns.Add(idColumn); //dg-имя DataGrid

DataGridTextColumn NameColumn = new DataGridTextColumn();
NameColumn.Header = "Name";
NameColumn.Binding = new Binding("Name");
dg.Columns.Add(NameColumn);
dg.ItemsSource = AR;
**


В результате, как и планировал, я получаю два столбца с заголовками ID и Name и четыре пустых(!) записи. Почему они пустые? Очевидно,что причина в привязке, но где конкретно? Буду благодарен за советы.



Гость
1 - 03.08.2013 - 15:49
Поправка: три пустых записи.
Гость
2 - 03.08.2013 - 16:40
Проблема оказалась в модификаторах get;set;

Изменил структуру вот так:

struct AgendaRecord
**
public int id{get;set;**
public string Name{get;set;**
**

И все заработало!
Гость
3 - 05.08.2013 - 14:37
Добрый день.
Возможно будет полезным ознакомиться с:
http://habrahabr.ru/post/124404/
и после этого заменить struct AgendaRecord на class AgendaRecord.
Гость
4 - 03.03.2015 - 15:55
Ну что сказать.)


К списку вопросов






Copyright ©, Все права защищены