| 

.NET C# Java Javascript Exception

5
Hallo Zusammen,

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 :-)
News:
09.11.2011
Jürgen Gutsch 960 4 7
1 Antwort
1
Findet denn ein Update statt, wenn das Control den Focus verliert?

Vorschlag 1- DependencyPropertyDescriptor anschauen.

In WPF konnte man jenes Konstrukt verwenden:
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
09.11.2011
Mario Priebe 6,0k 3 9
Hi Marion, ich habe oben noch weitere Infos dazu geschrieben. TwoWay-Binding ist nicht das Problem, sondern die Darstellung der aktualisierten gebundenen Daten.
Jürgen Gutsch 09.11.2011
Du willst quasi die Nachricht in deinem WrapperControl haben, wenn sich ein Wert in dem Grid, welches sich wiederum im Wrapper befindet, ändert?
Mario Priebe 09.11.2011
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.
Jürgen Gutsch 10.11.2011

Stelle deine .net-Frage jetzt!