Diese Antwort ist nicht meine eigene, nur das von AnthonyWJones vorgeschlagene Arbeitscodebeispiel.
%Vor%Ich habe ein Datagrid, das Daten wie folgt erhält:
%Vor%Das Problem ist: Wenn ein Benutzer versucht, eine Zelle zu bearbeiten oder mehrere Zellen zu ziehen, löst die Anwendung eine Ausnahme aus:
System.InvalidOperationException wurde nicht behandelt
Nachricht: 'EditItem' ist für diese Ansicht nicht erlaubt.
Warum ist das? Liegt es an der Art, wie die Daten eingegeben werden?
Irgendwelche Ideen?
Danke!
Anstelle von struct
verwenden Sie stattdessen class
.
AKTUALISIERTE ANTWORT: Versuchen Sie, Ihre MyData-Instanzen zu einer Liste hinzuzufügen und diese Liste dann der DataGrid.ItemsSource
zuzuweisenIch habe dieses Problem beim Zuweisen von ItemsSource zu IEnumerable & lt; T & gt;.
Ich habe es durch Konvertieren des IEnumberable & lt; T & gt; zu einer Liste & lt; T & gt; und dann das ItemsSource zuweisen.
Ich bin mir nicht sicher, warum IEnumerable dieses Problem verursacht hat, aber diese Änderung hat es für mich behoben.
Ich habe ein Datagrid, das Daten wie folgt erhält:
%Vor%Das Problem ist: Wenn ein Benutzer versucht, eine Zelle zu bearbeiten oder mehrere Zellen zu ziehen, löst die Anwendung eine Ausnahme aus:
System.InvalidOperationException wurde nicht behandelt
Nachricht: 'EditItem' ist für diese Ansicht nicht erlaubt.
Warum ist das? Liegt es an der Art, wie die Daten eingegeben werden?
Irgendwelche Ideen?
Danke!
Wenn Sie DataGridCheckBoxColumn verwenden, müssen Sie %code% setzen auf Kontrollkästchen-Spalte. Siehe hierzu: Ссылка
Diese Antwort ist nicht meine eigene, nur das von AnthonyWJones vorgeschlagene Arbeitscodebeispiel.
%Vor%Ich habe dieses Problem beim Zuweisen von ItemsSource zu IEnumerable & lt; T & gt;.
Ich habe es durch Konvertieren des IEnumberable & lt; T & gt; zu einer Liste & lt; T & gt; und dann das ItemsSource zuweisen.
Ich bin mir nicht sicher, warum IEnumerable dieses Problem verursacht hat, aber diese Änderung hat es für mich behoben.
Für meinen Fall
%Vor%gibt ein
zurück %Vor%nicht ein
%Vor%also, wenn ich einen Style für meine Event-Setter zu einer Checkbox-Spalte in meinem DataGrid zuweisen
%Vor%ServiceActiveChecked wird nie aufgerufen und ich habe
%Vor%und für alle anderen, die Kontrollkästchen in Datagrid-Spalten verwenden, verwende ich ein Spaltenobjekt mit meinen Spaltendaten in diesem Konstruktor, um das Datenraster hinzuzufügen, das ich zum Hinzufügen des obigen Stils verwende.
%Vor%Anstelle von %code% verwenden Sie stattdessen %code% .
AKTUALISIERTE ANTWORT: Versuchen Sie, Ihre MyData-Instanzen zu einer Liste hinzuzufügen und diese Liste dann der DataGrid.ItemsSource
zuzuweisenFür meinen Fall
%Vor%gibt ein
zurück %Vor%nicht ein
%Vor%also, wenn ich einen Style für meine Event-Setter zu einer Checkbox-Spalte in meinem DataGrid zuweisen
%Vor%ServiceActiveChecked wird nie aufgerufen und ich habe
%Vor%und für alle anderen, die Kontrollkästchen in Datagrid-Spalten verwenden, verwende ich ein Spaltenobjekt mit meinen Spaltendaten in diesem Konstruktor, um das Datenraster hinzuzufügen, das ich zum Hinzufügen des obigen Stils verwende.
%Vor%Tags und Links wpf datagrid invalidoperationexception