Проблемы с таблицей данных / массивом - PullRequest
2 голосов
/ 17 января 2012

Я пытаюсь выяснить причину, по которой данные могут работать по-разному при назначении ему списка / массива.

MainDisplay = Пустая док-панель.

LItem = Класс с 2 свойствами, Id и Data

var dgBills = new DataGrid();
dgBills.ItemsSource = new List<ListBillsItem>
{
    new LItem {Id = 5, Data = "Patrik"},
    new LItem {Id = 6, Data = "Thomas"}
};
MainDisplay.Children.Add(dgBills);

В результате получается сетка данных с 3 рядами !? Одна строка для Патрика, одна для Томаса и одна (последняя) пустая строка.

Если я изменю это на это, то он выдаст только 2 строки (как и должно быть)

var dgBills = new DataGrid();
dgBills.ItemsSource = new[]
{
    new LItem {Id = 5, Data = "Patrik"},
    new LItem {Id = 6, Data = "Thomas"}
};
MainDisplay.Children.Add(dgBills);

Кто-нибудь может объяснить, почему он так себя ведет? Я получаю список из базы данных, и мне бы хотелось, чтобы он отображал только записи, которые есть в списке.

1 Ответ

3 голосов
/ 17 января 2012

Это связано со свойством CanUserAddRows="True" в таблице данных, которое показывает пустую строку для нового элемента, если базовая коллекция принимает новые элементы.Установите это свойство на false, и вы должны увидеть то же самое в двух случаях.

...