Mit meinem Kollegen haben wir ein Problem mit SilverLight bezüglich des NotificationObject von Prism.Wie kann ich überprüfen, ob mein Eventhandler von RaisePropertyChanged() in SL abgebrochen wird oder nicht?
Unser Problem ist;
- Wir binden ein Event-Handler zu einem unserer DependencyProperties
- wir
- RaiseChangedEvent in der Setter nennen Wenn wir debuggen, dann sehen wir, dass Eventhandler zugeordnet ist, und es wird aufgerufen, wenn der proerty Wert geändert wird.
- Aber wenn wir den Property-Wert einmal agian von in der Benutzeroberfläche ändern, sehen wir diesmal, dass unser Event-Handler nicht aufgerufen wird.
So wollen wir sicher sein:
- Wenn Event-Handler noch binded wird (es sei denn, es ist nicht null, wir glauben, dass es binded ist)
Wenn es binded ist, warum das Ereignis abgebrochen oder warum unsere anonyme Event-Handler-Methode nicht erneut aufgerufen wird (der Breakpoint wird nicht getroffen)
Sie können die Code-Snippets unten sehen.
Meine Frage ist:
Gibt es eine Möglichkeit, warum die RaisePropertyChanged ("MyProperty") zu sehen; ruft keinen Eventhandler auf, der dieser DependencyProperty namens Requestor zugewiesen ist? Irgendwelche Vorschläge? Wenn ich verallgemeinere: Ist es möglich, in RaisePropertyChanged ("Anforderer") zu treten; anrufen, so dass was es tut und wo es austritt?
meinen Code-Schnipsel Siehe:
// My dependency property in my ViewModel
public CompanyEntity MyProperty
{
get { return _MyProperty; }
set
{
_MyProperty = value;
RaisePropertyChanged("MyProperty");
}
}
// And my Dependency Property Event handler setting in my user control:
public static readonly DependencyProperty FactoryProperty =
DependencyProperty.Register("Factory", typeof (FactoryEntity), typeof (FactoryPicker),
new PropertyMetadata((x, y) =>
{
// Some settings and processes
}));