DataGrid 'EditItem' ist nicht zulässig für diese Ansicht, wenn Sie mehrere Elemente ziehen
Ich habe ein datagrid die Daten bekommt, wie diese:
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"}));
Das problem ist - immer wenn ein Benutzer versucht, eine Zelle Bearbeiten oder zieht mehrere Zellen - die app wirft eine Ausnahme:
System.InvalidOperationException wurde unbehandelt
Meldung: 'EditItem' ist nicht zulässig für diese Ansicht.
Warum ist das so? Ist es wegen der Art, wie die Daten eingegeben werden?
Irgendwelche Ideen?
Danke!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Statt mit einem
struct
verwendenclass
statt.AKTUALISIERT ANTWORT: Versuchen Sie, Ihre MyData-Instanzen, um eine Liste dann zuweisen, dass die Liste an das DataGrid.ItemsSource
MyData
Instanzen zu einerList<MyData>
dann zuweisen, dass die Liste derDataGrid.ItemsSource
Ich habe dieses Problem bei der Zuweisung von "ItemsSource" IEnumerable<T>.
Ich es behoben durch die Umwandlung der IEnumberable<T> zu einer List<T> und dann zuweisen, dass ItemsSource.
Ich bin mir nicht sicher, warum IEnumerable verursacht das Problem, aber das ändern Sie es fest für mich.
List<T>
unterstütztAdd()
undRemove()
Wenn Sie datagrid-DataGridCheckBoxColumn müssen Sie
<Setter Property="IsEditing" Value="true" />
auf Kontrollkästchen-Spalte. Sehen: https://stackoverflow.com/a/12244451/1643201
Diese Antwort ist nicht meine eigene, nur die Arbeits-code-Beispiel vorgeschlagen, durch AnthonyWJones.
Für meinen Fall,
gibt ein
nicht
also, wenn ich zuweisen eine Formatvorlage für meine Veranstaltung setter auf eine checkbox-Spalte in meinem datagrid
ServiceActiveChecked wird nie aufgerufen und ich bekam
und für jemand anderes tut Checkboxen im datagrid-Spalten, ich Spalte Objekt mit meine Spalte Daten in diesem Konstruktor für das hinzufügen der Daten raster ich mit hinzufügen den Stil vor.