DataGrid 'EditItem' is not allowed for this view when dragging multiple items

amitairos picture amitairos · Aug 4, 2011 · Viewed 14.9k times · Source

I have a datagrid which gets data like this:

    public struct MyData
    {
        public string name { set; get; }
        public string artist { set; get; }
        public string location { set; get; }
    }

    DataGridTextColumn col1 = new DataGridTextColumn();
    col4.Binding = new Binding("name");
    dataGrid1.Columns.Add(col1);
    dataGrid1.Items.Add((new MyData() { name = "Song1", artist = "MyName", location =     "loc"}));
    dataGrid1.Items.Add((new MyData() { name = "Song2", artist = "MyName", location =     "loc2"}));

The problem is- whenever a user tries to edit a cell or drags multiple cells- the app throws an exception:

System.InvalidOperationException was unhandled
Message: 'EditItem' is not allowed for this view.

Why is this? Is it because of the way the data is entered?
Any ideas?
Thanks!

Answer

AnthonyWJones picture AnthonyWJones · Aug 4, 2011

Instead of using a struct use a class instead.

UPDATED ANSWER: Try adding your MyData instances to a List then assigning that list to the DataGrid.ItemsSource