J'ai la propriété de dépendance suivante à l'intérieur d'une classe: Je dois être capable de récupérer une référence à l'instance de classe dans laquelle appartient la propriété modifiée. P> Ceci est depuis fooholder code> a des gestionnaires d'événements qui doivent être accrochés / décroché lorsque la valeur de la propriété est modifiée. La propriété a changé de rappel doit être statique, mais le gestionnaire d'événements n'est pas. P> P>
3 Réponses :
Quelque chose comme ça: (vous devrez définir une touffefoo () et Wirefoo () vous-même) et, bien sûr, FOOholder doit hériter de dépendanceObject p> p>
Et ici, je regardais autour des propriétés à l'intérieur i> D, peut-être que c'était trop évident. Merci!
1000 Merci pour celui-ci ... Je suis juste allé à un voyage de 16 heures pour trouver la documentation évidente. MSDN Documentation semble être écrit par Sir Humphrey Appleby ..
Le propriétaire de la propriété étant modifié est le paramètre d code> de votre méthode de rappel p>
Basé sur la réponse de @ Catalin-Dicu, j'ai ajouté cette méthode d'assistance à ma bibliothèque. Il se sentait un peu plus naturel d'avoir la méthode onchanged non statique et de cacher tout le casting. EXEMPLE D'UTILISATION: P> class FooHolder
{
public static DependencyProperty CurrentFooProperty = WpfUtils.RegisterDependencyPropertyWithCallback
<FooHolder, Foo>("CurrentFoo", x => x.OnCurrentFooChanged);
private void OnCurrentFooChanged(Foo oldFoo, Foo newFoo)
{
// do stuff with holder
}
}