Könnte jemand bitte erklären, warum Abhängigkeitseigenschaften als statisch deklariert sind?Warum sind Abhängigkeitseigenschaften "statisch"?
Antwort
Das Feld, das Sie als statisch deklarieren ist nur die Kennung eine Abhängigkeitseigenschaft, nicht den Wert der Immobilie. Es wird für alle Instanzen der Klasse freigegeben und wird verwendet, um den Wert der Eigenschaft für jede Instanz abzurufen/festzulegen.
Wenn Sie eine DependencyProperty
erklären, erklären Sie, die Definition dieser Eigenschaft, anstatt den Speicherplatz für den Wert der Eigenschaft (wie es der Fall mit dem regulären Eigenschaftsdeklaration sein). Es gibt nur eine Definition der Eigenschaft für die gesamte Klasse - im Gegensatz zu einer Definition pro Instanz der Klasse - und daher ist sie statisch.
Wo ist dann Speicher? – zinking
Jedes Objekt mit einer 'DependencyProperty' wird vom Typ' DependencyObject' abgeleitet. Eine Instanz von "DependencyObject" enthält einen Eigenschaftenbeutel - im Wesentlichen ein Wörterbuch des Eigenschaftsnamens, der einem Wert zugeordnet ist - und der Wert einer beliebigen "DependencyProperty", die gesetzt ist, wird in diesem Beutel gespeichert. –
- 1. Warum sind Schnittstellen statisch?
- 2. Warum die Abhängigkeitseigenschaften in WPF statisch sein müssen
- 3. Java: Warum sind Thread.sleep() und yield() statisch?
- 4. Warum ConcurrentHashMap.Segment und ConcurrentHashMap.HashEntry-Klassen statisch sind?
- 5. Abhängigkeitseigenschaften
- 6. Warum sind die Methoden Array.Sort() und Array.IndexOf() statisch?
- 7. Warum sind die meisten Methoden von System.Array statisch?
- 8. Sind die using-Deklarationen statisch?
- 9. Sind Java-Enum-Variablen statisch?
- 10. Warum ist String.Format statisch?
- 11. Importe in Python sind statisch, jede Lösung?
- 12. Warum Delegat muss statisch sein?
- 13. Warum muss conexpr statisch sein?
- 14. XML-Dokumentation für Abhängigkeitseigenschaften
- 15. CollectionPropertiesShouldBeReadOnly und Abhängigkeitseigenschaften
- 16. Verketten Abhängigkeitseigenschaften mit MVVM
- 17. IValueConverter mit gebundenen Abhängigkeitseigenschaften
- 18. Warum ist Python statisch/Klassenmethode nicht aufrufbar?
- 19. Warum sollte Java Thread Variablen statisch seine
- 20. Kosten der Verwendung von Abhängigkeitseigenschaften
- 21. WPF ReadOnly-Abhängigkeitseigenschaften mit MVVM
- 22. Unterschied zwischen Abhängigkeitseigenschaften in WPF
- 23. Statisch vs. nicht statisch Stack
- 24. Warum ist die Random-Klasse nicht statisch?
- 25. Warum versucht dieser Sammlungsinitialisierer statisch zu sein?
- 26. Warum muss eine ClassInitialize-Methode statisch sein?
- 27. Warum muss der Löschoperator statisch sein?
- 28. Warum ist std :: bitset :: size nicht-statisch
- 29. Warum nicht statisch Binary mit GCC
- 30. Festlegen der Reihenfolge für Abhängigkeitseigenschaften Callback-Änderungsmethoden?
Ich habe einige Anforderungen, die DP als statisch zu machen, weil ich es über alle Instanzen teilen möchte. Ist es möglich? –
@ RV1987, macht es nicht wirklich Sinn ... Wenn Sie das tun möchten, verwenden Sie keine DP, verwenden Sie einfach eine statische CLR-Eigenschaft –
@ThomasLevesque: Ernsthaft kann ich nicht die Bedeutung oder Rechtfertigung Ihrer Aussagen was verstehen du versuchst es zu sagen. Ich bin aber Neuling und verstehe deine Worte nicht. Warum sollten wir für jede Instanz einen Wert festlegen, wenn dieser statisch ist? "Statisch" bedeutet, dass es während der gesamten Programmlaufzeit einmal aufgerufen wird. – Learner