wie kommt es, dass bei Datenänderung (PropertyChanged) ein ValueConverter reagiert, nicht aber die ChangedCallback Methode die im Dependency Property definiert ist?
[EDIT] Das Control ist Wrapper für ein Grid. Es wird (über einen ValueConverter) an eine ObservableCollection gebunden.
Änderungen die im Grid (inline editing) gemacht werden, werden richtig an die Collection zurückgegeben. Beim Aufruf der View werden die Daten aus der Collection auch initial richtg im Grid dargestellt. Wenn ich aber über ein anderes Control die Collection ändere, tritt das oben beschriebene Problem auf. Der ValueConverter regiert auf die Änderung, aber eben das Control selber erkennt keine Änderung. IMO unlogisch... [/Edit]
Ich stehe da grad etwas auf dem Schlauch, bzw. kapiere es einfach nicht...
Ich würde mich über einen kleinen Denkanstoß freuen. Vielen Dank :-)
DependencyPropertyDescriptor dpd = DependencyPropertyDescriptor.FromProperty(ItemIdProperty, typeof(AdressEditForm)); if (dpd != null) { dpd.AddValueChanged(this, delegate { //validate or whatever to do here }); }
Vorschlag 2 - OnPropertyChanged in Silverlight implementieren
Hi Marion, ich habe oben noch weitere Infos dazu geschrieben. TwoWay-Binding ist nicht das Problem, sondern die Darstellung der aktualisierten gebundenen Daten.
Nein, ich möchte das das Grid, Änderungen innerhalb der gebundenen Liste mitbekommt und darstellt.
Die Daten sind an den Wrapper gebunden, der die Daten wiederum an das Grid weitergibt. Beim initialen Aufruf funktioniert das. Beim ändern der Liste allerdings nicht. Der ValueConverter am DependencyProperty des Wrappers reagiert hier noch auf die Änderungen, die DependencyProperty selber allerdings nicht.