2009-08-19 2 views
0

Ich arbeite mit dem WPF Toolkit DataGrid und derzeit ein Problem mit der Übertragung von Daten zurück zur Quelle.Tabbing oder Abwählen der Zelle nicht commit Daten

Mein Gitter ist an eine CLR-Objektliste gebunden, und ich habe einen Konverter, der sowohl die Konvertierungs- als auch die Umkehrmethode implementiert.

Die Zwei-Wege-Bindung funktioniert einwandfrei, wenn der Benutzer die Eingabetaste in die Zellen drückt, aber wenn sie die Zellen abwählen oder aus den Zellen herausnehmen, gehen die eingegebenen Daten verloren.

Ich habe eine Pause auf dem CellEditEnding-Ereignis und beide Ereignisse für Tab und Enter scheinen identisch, aber wenn es zu der ConvertBack-Methode auf meinem Konverter kommt, ist der Wert leer.

Jede Hilfe würde sehr geschätzt werden.

Antwort

1

Versuchen Sie, den UpdateSourceTrigger-Parameter der Bindung Ihres Steuerelements an PropertyChanged anstelle des standardmäßigen LostFocus zu ändern.

Eg

  <TextBox 
      Width="75" 
      VerticalAlignment="Top" 
      Margin="10" 
      Text="{Binding 
      Source={StaticResource data}, 
      Path=Age, 
      UpdateSourceTrigger=PropertyChanged, 
      ValidatesOnDataErrors=True, 
      ValidatesOnExceptions=True}" 
      Style="{StaticResource textBoxInError}" /> 
+0

Das hat gut funktioniert ... offensichtlich jetzt Evens bei jedem Tastendruck verändert werden, die jetzt gut funktioniert. Aber das lässt natürlich nicht zu, dass etwas eingegeben wird ... und dann Escaped, um abzubrechen (wie das IEditableObject). – Oliver

Verwandte Themen