2008-10-01 7 views
6

Dans WPF:DependencyProperty et DataBinding?

Quelqu'un peut-il expliquer la relation entre DependencyProperty et Databinding?

J'ai une propriété dans mon code derrière Je veux être la source de ma liaison de données. Quand est-ce qu'un DependencyProperty (ou est-ce que) entre en jeu si je veux lier cet objet à des zones de texte sur le XAML.

Répondre

13

La cible dans une liaison doit toujours être DependencyProperty, mais n'importe quelle propriété (même les propriétés ordinaires) peut être la source. Le problème avec les propriétés non hiérarchiques est que la liaison n'atteindra la valeur qu'une seule fois et qu'elle ne changera pas après cela car la notification de modification est manquante dans la propriété source.

Pour fournir cette notification de changement sans en faire un DependencyProperty, on peut:

  1. Mettre en oeuvre INotifyPropertyChanged sur la classe définissant la propriété.

  2. Créer une PropertyName événement Changed. (Rétrocompatibilité.)

WPF fonctionnera mieux avec le premier choix.

+0

Merci, exactement la réponse que je cherchais. – mrbradleyt