我试图找出数据表在为其分配列表/数组时表现不同的原因。
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);
谁能解释一下为什么会这样?我正在从数据库中获取一个列表,我希望它只显示列表中的记录。
最佳答案
这是由于数据网格上的属性 CanUserAddRows="True"
会在基础集合接受新项目时显示新项目的空行。将此属性设置为 false
,您应该在两种情况下看到相同的结果。
关于wpf - 数据表列表/数组问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8897217/