Привязка данных DataTable к DataGrid - код позади - PullRequest
0 голосов
/ 07 сентября 2018

Я создал DataGrid, и я не хочу добавлять универсальный тип DataTemplateColumns, поэтому он зависит от количества столбцов в таблице данных, которую я поставил в качестве источника! Но когда я делаю все это и привязываю DataGrid столбцы к DataTable столбцам, у меня возникает сценарий, в котором я получаю правильное число строк в DataGrid, но это данные только из первой строки. Итак, что я делаю не так?

Вот код:

Binding binding = new Binding();
binding.Path = new 
PropertyPath(dataTable.Columns[i].ColumnName.ToString());
binding.Source = dataTable

FrameworkElementFactory textBlock = new 
FrameworkElementFactory(typeof(TextBlock));
textBlock.SetValue(TextBlock.TextProperty, binding);

DataTemplate dataTemplate = new DataTemplate();
dataTemplate.VisualTree = textBlock;
dataGridTemplateColumn.CellTemplate = dataTemplate;
dgTab1.Columns.Add(dataGridTemplateColumn);

Я думаю, что у меня проблема с привязкой, но я не знаю, как ее исправить, очевидно!

1 Ответ

0 голосов
/ 07 сентября 2018

Используйте метод SetBinding (вместо SetValue) для привязки к свойству Text:

FrameworkElementFactory textBlock = new FrameworkElementFactory(typeof(TextBlock));
textBlock.SetBinding(TextBlock.TextProperty, binding);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...