Kostenabhängigkeitseigenschaften des Verwendens
-
05-07-2019 - |
Frage
ich habe eine Kontrolle haben, die von UserControl
erbt (daher eines ihrer Superklassen ist DependencyObject
). Es ist sehr einfach, eine Benachrichtigung Problem mit einem DependencyProperty
zu lösen, da INotifyPropertyChanged
eine wenig Implementierung benötigt, und die andere Option wäre ein Verfahren erschaffen, die den Zustand der Steuerung (wie myControl.HideTextBox()
) zu ändern. Ich denke, es gibt mehr Möglichkeiten, dies zu lösen, aber da die Steuerung bereits von DependencyObject
erbt, scheint ein DependencyProperty
desto offensichtlicher Weg zu sein, aber es ist vielleicht nicht die optimal sein.
Jeder Gedanke?
Danke!
Lösung
Die eigentliche Funktion der Abhängigkeitseigenschaften ist nicht, dass Sie Änderungsbenachrichtigung kostenlos zu bekommen (obwohl das dort). Das eigentliche Merkmal ist, dass nur Abhängigkeitseigenschaften können verbindliche Ziele von Daten sein. Dies ist, was Sie sollten in erster Linie die bei der Entscheidung, ob eine Eigenschaft Abhängigkeit sein soll oder nicht.
Für eine Steuerung, die fast alle Eigenschaften sollten bindable sein und damit die Abhängigkeit.