2009-08-26 6 views
8

ich eine ClassA mit einem ObservableCollection Eigenschaft haben, dass implementiert die INotifyPropertyChanged SchnittstelleWann abonniert WPF das PropertyChanged-Ereignis?

auf meinem Fenster Code-Behind ich einen ClassA variable erklärt haben, und initialisieren es in der Methode Main().

ich würde erwarten, dass variable.PropertyChanged ein WPF-Ereignis, um es verdrahtet haben würde, aber anscheinend das PropertyChanged Ereignis bleibt null

Antwort

9

WPF zum Property Ereignisse abonnieren, wenn Sie zu Ihrem Objekt binden. Dies ist der Kern der Datenbindung.

Dies geschieht tatsächlich über die PropertyChangedEventManager mit der WeakEvent pattern in WPF.

+0

So ... WPF auch abmelden, wenn die Bindung verworfen wird (daher vermieden Speicherlecks)? –

+1

@ NéstorSánchezA. Es verwendet das schwache Ereignismuster, um das Speicherleck zu vermeiden. Im Allgemeinen sollten Sie wegen der WPF-Bindung kein Leckproblem haben. –

1

Ich bin mir nicht sicher, ob dies genau Ihre Frage beantwortet, aber ich hatte ähnliche Erfahrungen und bloggte darüber here.

im Wesentlichen darauf, dass die Datacontext nicht null ist, wenn die Bindung erfolgt, so dass Property Ereignisse zurück auf die UI bekommen ...