2008-10-01 4 views
6

In WPF:DependencyProperty und DataBinding?

Kann jemand bitte die Beziehung zwischen DependencyProperty und Databinding erklären?

Ich habe eine Eigenschaft in meinem Code hinter Ich möchte die Quelle meiner Datenbindung sein. Wann kommt eine DependencyProperty (oder tut es) ins Spiel, wenn ich dieses Objekt an Textboxen auf dem XAML binden will.

Antwort

13

Das Ziel in einer Bindung muss immer eine DependencyProperty sein, aber jede Eigenschaft (auch einfache Eigenschaften) kann die Quelle sein.

Das Problem mit einfachen Eigenschaften besteht darin, dass die Bindung den Wert nur einmal aufnimmt und sich danach nicht ändert, da die Änderungsbenachrichtigung in der einfachen Quelleigenschaft fehlt.

Um diese Änderungsbenachrichtigung bieten, ohne sie ein DependencyProperty zu machen, kann man:

  1. INotifyPropertyChanged die Eigenschaft definiert, auf die Klasse implementieren.

  2. ein Ereignis PropertyNameChanged erstellen. (Rückwärtskompatibilität.)

WPF funktioniert besser mit der ersten Wahl.

+0

Vielen Dank, genau die Antwort, die ich gesucht habe. – mrbradleyt