Es hat diesbezüglich bereits eine Reihe von Diskussionen gegeben. Bitte gehen Sie einige durch.
Was ist eine Abhängigkeitseigenschaft?
Was ist die Abhängigkeitseigenschaft in WPF
?Abhängigkeitseigenschaft in WPF / SilverLight
Wie wird die Abhängigkeitseigenschaft implementiert?
Was ist der Unterschied zwischen Property und Dependency Property
?Abhängigkeitseigenschaften in WPF
Auch Google und Sie können einige tolle Artikel finden.
Hier ist ein Zitat aus dem Buch WPF 4 Unleashed :
WPF führt eine neue Art von Eigenschaft ein eine Abhängigkeitseigenschaft genannt, die über die gesamte Plattform hinweg genutzt werden Styling, automatische Datenbindung, Animation und mehr. Du könntest zuerst trifft dieses Konzept mit Skepsis, wie es verkompliziert das Bild von .NET Typen mit einfachen Feldern, Eigenschaften, Methoden und Ereignisse. Aber wenn du die Probleme verstehst Abhängigkeitseigenschaften lösen, werden Sie wahrscheinlich akzeptieren sie als Willkommen Zusatz.
Eine Abhängigkeitseigenschaft hängt davon ab mehrere Anbieter zur Bestimmung seiner Wert zu jedem Zeitpunkt. Diese Anbieter könnten eine Animation sein kontinuierlich seinen Wert ändern, a Elternelement, dessen Eigenschaftswert propagiert zu seinen Kindern, und bald. Wohl das größte Merkmal von Eine Abhängigkeitseigenschaft ist integriert Fähigkeit zur Veränderung Benachrichtigung.
Die Motivation für das Hinzufügen solcher Intelligenz zu Eigenschaften ist zu Aktivieren Sie umfangreiche Funktionen direkt von deklarativem Markup. Der Schlüssel zu Das deklarationsfreundliche Design von WPF ist seine starke Nutzung von Eigenschaften. Taste, Zum Beispiel hat 111 öffentliche Eigenschaften (98 davon sind von vererbt Control und seine Basisklassen)! Eigenschaften können einfach in XAML festgelegt werden (direkt oder mit einem Design-Tool) ohne prozeduralen Code. Aber ohne die zusätzlichen Rohrleitungen in Abhängigkeitseigenschaften wäre es schwer für die einfache Einstellung Eigenschaften, um die gewünschten Ergebnisse zu erhalten ohne die Notwendigkeit, zusätzliche zu schreiben Code.
Tags und Links wpf mvvm dependency-properties