WPF DataGrid-Zellenwert geändertes Ereignis

9

Ich habe ein Setup, das so aussieht:

%Vor%

wobei MyItem implementiert INotifyPropertyChanged . Wie kann man richtig abfangen, wenn der Benutzer einen Wert in eine Zelle eingibt?

Ich habe versucht, PropertyChanged auf MyItem s einzufangen, aber ich aktualisiere die Werte auch periodisch im Hintergrund (die Idee ist, dass, wenn der Benutzer den Wert manuell bearbeitet, ein Flag ausgelöst wird, das die periodische Berechnung anzeigt) um das Überschreiben der manuell eingegebenen Daten zu vermeiden. So fängt PropertyChanged alles ab, einschließlich der periodischen Updates, die ich nicht will. Ich nehme an, dass es möglich ist, dies zu tun (indem ich bei der periodischen Berechnung ein Flag setze und dann im PropertyChanged-Event-Handler nach dem Fehlen des Flags suche - aber ich möchte wissen, ob es eine einfachere Lösung gibt.)

Ich habe versucht, myDG.CurrentCellChanged abzufangen, aber das wird jedes Mal ausgelöst, wenn der Benutzer die Zellenauswahl ändert, nicht speziell beim Bearbeiten von Zelleninhalten.

Bearbeiten: Hier ist der XAML:

%Vor%

Hier ist die MyItem -Implementierung (verwendet Fody / PropertyChanged ):

%Vor%     
Arcinde 22.12.2015, 19:49
quelle

1 Antwort

17

Die Lösung bestand darin, das Ereignis CellEditEnding abzufangen.

%Vor%     
Arcinde 30.12.2015, 18:15
quelle

Tags und Links