WPF DataGrid - 新条目的行不可见

时间:2009-10-16 17:34:20

标签: c# wpf datagrid

问题是,DataGrid中的空白行没有出现,ergo用户无法添加数据。 这是代码:

System.Collections.ObjectModel.ObservableCollection<CoreVocabularyEntry> dataList = new System.Collections.ObjectModel.ObservableCollection<CoreVocabularyEntry>();
    public VocabularyToolWindow()
    {
        InitializeComponent();
        dataList.Add(new CoreVocabularyEntry { Foreign = "ja", Native = "ano" });
        ListCollectionView view = new ListCollectionView(dataList);
        WordsDataGrid.ItemsSource = dataList;
        WordsDataGrid.CanUserAddRows = true;
        MessageBox.Show(view.CanAddNew.ToString());
    }

我无法弄清楚为什么view.CanAddNew等于false。这看起来像一个非常标准的场景,所以可能有一些我不知道的事情。有人能告诉我代码有什么问题吗? CoreVocabularyEntry就是以下内容:

public struct CoreVocabularyEntry : IVocabularyEntry
{
    #region IVocabularyEntry Members

    public string Foreign
    {
        get;
        set;
    }

    public string Native
    {
        get;
        set;
    }

    #endregion
}

Thx,J.K。

2 个答案:

答案 0 :(得分:1)

WordsDataGrid.CanUserAddRows = true;移到设置DataGrid的ItemSource的语句上方。

修改

注意到你没有实施IEditableObject。您需要这样做才能使用DataGrid的编辑功能。

答案 1 :(得分:1)

这可能比上面更简单。当我没有默认构造函数时,我遇到了这个问题,因此datagrid不知道如何添加新行。我唯一的构造函数涉及要提供的一堆信息。转到List&lt;&gt;的对象是由和添加一个构造函数,如: public MyClass(){} 希望这有帮助!