Ich versuche, einige Unterschiede zwischen diesen Ansätzen zu finden. Gibt es Situationen, in denen Verhaltensweisen verwendet werden und die gleiche Funktionalität nicht mit angehängten Eigenschaften möglich ist?Interactivity.Behavior <T> vs angefügte Eigenschaften
Antwort
Nein. Verhaltensweisen sind im Grunde nur eine viel schönere Abstraktion zusätzlich zu den angehängten Eigenschaften.
Durch die Verwendung von Behavior<T>
erhalten Sie direkten Zugriff auf die AssociatedObject
, sowie die Möglichkeit, das Verhalten zur Laufzeit einfach anzuhängen und zu lösen.
Sie könnten dies mit angehängten Eigenschaften tun, aber es würde erfordern, eine Menge zusätzlicher Rohrleitungen hinzuzufügen.
Behaviors basieren auf angefügten Eigenschaften. Das heißt, wenn Sie kein spezifisches Verhalten finden können - Sie schreiben Ihr eigenes, entweder basierend auf dem von Blend bereitgestellten Behavoirs-Framework oder indem Sie Ihren eigenen AP erstellen ...
Ich habe immer, dass Verhaltensweisen sind ein großer Beweis für die Eigenschaften angehängter Eigenschaften. Einfach unglaublich, was du mit ihnen bekommen kannst.
Ich neige dazu, Verhalten zu verwenden, um Funktionalität hinzuzufügen, die sichtbare Änderungen macht. Während ich angefügte Eigenschaften verwenden, um einem Objekt zusätzliche Informationen hinzuzufügen, die anschließend von anderen Objekten verwendet werden.
z. Grid.Row erstellt eine gute angehängte Eigenschaft, da sie vom Grid und nicht vom Ziel verwendet wird. Auf der anderen Seite würde AutoKorrektur ein gutes Verhalten zeigen, da dies sichtbare Änderungen am Objekt machen wird.
Dies ist nicht die Antwort. Aber die beste Erklärung, die ich zu diesem Thema finden kann
Brian Noyes beschreibt in seinen Artikeln klar die Unterschiede zwischen den einzelnen Konzepten.
Der angegebene Link ist unterbrochen. –
Hier ist der Arbeitslink http://briannoyesblog.azurewebsites.net/2012/12/20/attached-behaviors-vs-attached-properties-vs-blend-behaviors/ – lukeguy
- 1. Grid's angefügte Eigenschaften immer verfügbar?
- 2. Wie genau funktionieren angefügte Eigenschaften in WPF?
- 3. Wo passen angefügte Eigenschaften in ein Klassendiagramm?
- 4. Wie benutze ich CMake Generator Ausdruck $ <TARGET_FILE: tgt>?
- 5. Wie ändern RelativePanel angefügte Eigenschaften in Windows Apps?
- 6. Manifest vs Eigenschaften Dateiformat
- 7. Kopie vs starke Eigenschaften
- 8. VS CodeLens auf Eigenschaften
- 9. <%# %> vs <%= %>
- 10. Validation.HasError angefügte Eigenschaft
- 11. PHP: <<< vs ob_start
- 12. Mock.Of <Object> VS Mock <Object>()
- 13. Katzendatei | ... vs ... <Datei
- 14. <applet> vs <object>
- 15. <?> vs <T>
- 16. GameObject.FindObjectOfType <>() vs GetComponent <>()
- 17. ASP.NET <%= %> vs <%: %>
- 18. Rails ERB <%- ... -%> vs. <% ... %>
- 19. jQuery append() - zurückgesetzte angefügte Elemente
- 20. Datenbindung an eine angefügte Eigenschaft
- 21. jQuery klicken auf angefügte Elemente
- 22. Spring Boot Logging-Eigenschaften vs Log4J 2 Eigenschaften
- 23. DataTables vs IEnumerable <T>
- 24. IEnumerable <T> VS IList <T> VS IQueryable <T>
- 25. Rails ERb Best Practices (<% %> vs <% -%> vs <%- -%>)
- 26. „<>“ vs „NOT IN“
- 27. "String.h" VS <string.h>
- 28. Oracle - "Sql Entwickler" Datenbank kopieren Dienstprogramm - Src/tgt anderes Schema
- 29. C# Konstruktoren vs Auto-Eigenschaften und Objektinitialisierer
- 30. Initialisiere Listen in Eigenschaften vs. im Konstruktor?
Es wird jedoch schwierig, sie mit einem Stil hinzuzufügen. –
Tatsächlich gibt es ein paar Dinge, die Sie nicht mit angehängten Eigenschaften tun können ... Zum Beispiel wäre es möglich, mehrere Instanzen desselben Verhaltens hinzuzufügen, aber Sie können nur einmal eine angehängte Eigenschaft festlegen. OTOH, angefügte Eigenschaften haben eine kürzere Syntax und können in Stilen verwendet werden, was mit Verhalten schwierig ist. –
@ThomasLevesque Sie können auch eine Attached-Eigenschaft definieren, die Verhaltensweisen zu einem bestimmten UI-Element hinzufügt und diese Eigenschaft in einem Stil festlegt. Haha =) –