我试图弄清楚为什么数据表在为其分配列表/数组时行为不同的原因。
MainDisplay =一个空的dockpanel。
LItem =具有2个属性的类,Id和数据
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);
任何可以解释为什么会这样的人?我从数据库中获取一个列表,我希望它只显示列表中的记录。
答案 0 :(得分:3)
这是由于数据网格上的属性CanUserAddRows="True"
,如果基础集合接受新项目,则会显示新项目的空行。将此属性设置为false
,您应该在两种情况下看到相同的属性。