如何绑定到的ObservableCollection,当删除DataGrid的空白行 ?(Ho

2019-08-02 17:04发布

我在这里得到坚果与此:

ObservableCollection<Employee> list = new ObservableCollection<Employee>();
dgEmployees.ItemsSource = list;

当您调试列表中的变量,它是空的(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"}

看来我已经把这个数据网格到一个TabControl后发生,但我不知道它有什么用它做。

有谁知道如何删除这个空行?

Answer 1:

在WPF 4.0版本的DataGrid的同样的问题依然存在,它是由加载新行,它会自动显示的ObservableCollection的ItemsSource引起的。 设置IsReadOnly真性它太激进恕我直言。
我解决它通过禁用CanUserAddRows财产,如果你不需要这种行为,但你仍然希望被修饰的细胞:

CanUserAddRows = “假”



Answer 2:

我懂了

在Datagrid的XAML,把属性:

IsReadOnly="True"


Answer 3:

CanUserAddRows="False"IsReadOnly="True"二者的组合是更好地保证任何额外的不便。



文章来源: How to remove DataGrid's blank row when binding to a ObservableCollection?