绑定到ObservableCollection <T>时如何删除DataGrid的空白行?
我在这里得到坚果:
ObservableCollection<Employee> list = new ObservableCollection<Employee>(); dgEmployees.ItemsSource = list;
当你debugging列表variables,它是空的(list.Count = 0),但是然后我把它绑定到一个DataGrid(WPFToolkit),它显示我一个空行。
在即时窗口中,对于dgEmployees.Items,它显示:
dgEmployees.Items[0] {NewItemPlaceholder}
和
dgEmployees.Items[0].GetType() {Name = "NamedObject" FullName = "MS.Internal.NamedObject"} [System.RuntimeType]: {Name = "NamedObject" FullName = "MS.Internal.NamedObject"}
这似乎发生在我把这个Datagrid放入一个TabControl后,但我不确定它有什么关系。
有谁知道如何删除这个空行?
在DataGrid的WPF 4.0版本中,同样的问题仍然存在,它是由ObservableCollection ItemsSource自动显示的新增行引起的。 设置IsReadOnly为真它太激进恕我直言。
我通过禁用CanUserAddRows属性解决了它,如果你不需要这种行为,但你仍然希望单元格被修改:
CanUserAddRows = “假”
我懂了
在Datagrid XAML上,放置属性:
IsReadOnly="True"
CanUserAddRows="False"
和IsReadOnly="True"
两者的组合更好,以确保任何额外的不便。