Sto cercando di trovare alcune differenze tra questi approcci. C'è qualche situazione in cui vengono utilizzati comportamenti e non è possibile fare la stessa funzionalità con le proprietà associate?Interattività. Comportamento <T> rispetto alle proprietà allegate
risposta
No. I comportamenti sono fondamentalmente solo un'astrazione molto più bella sulla parte superiore delle proprietà collegate.
Utilizzando Behavior<T>
, è possibile accedere direttamente allo AssociatedObject
, nonché alla possibilità di collegare e scollegare il comportamento, facilmente, in fase di esecuzione.
Si potrebbe fare questo con le proprietà allegate, ma sarebbe necessario aggiungere un sacco di tubature supplementari.
I bari sono basati su proprietà associate. Ciò significa che se non si riesce a trovare un comportamento specifico, si scrive il proprio, sia in base al framework dei comportamenti fornito da Blend o creando il proprio AP ...
Sono sempre convinto che i comportamenti siano una grande prova del potere delle proprietà collegate. Incredibile cosa puoi ottenere con loro.
Tendo ad utilizzare i comportamenti per aggiungere funzionalità che apporti modifiche visibili. Mentre uso le proprietà associate per aggiungere informazioni aggiuntive a un oggetto che viene successivamente utilizzato da altri oggetti.
E.g. Grid.Row crea una buona proprietà associata, in quanto viene utilizzata dalla griglia e non dall'obiettivo. D'altra parte, Correzione automatica avrebbe un buon comportamento, in quanto ciò renderà le modifiche visibili sull'oggetto.
Questa non è la risposta. Ma la migliore spiegazione che posso trovare su questo argomento http://briannoyes.net/attached-behaviors-vs-attached-properties-vs-blend-behaviors/
Brian Noyes nei suoi articoli descrive chiaramente le differenze tra ciascuno dei concetti.
Il collegamento fornito è danneggiato. –
Ecco il link di lavoro http://briannoyesblog.azurewebsites.net/2012/12/20/attached-behaviors-vs-attached-properties-vs-blend-behaviors/ – lukeguy
- 1. Proprietà F # rispetto alle proprietà C#
- 2. Associazione modello con proprietà allegate
- 3. Come utilizzare l'espressione del generatore CMake $ <TARGET_FILE: tgt>?
- 4. Utilizzo del datastore di jQuery rispetto alle proprietà expando
- 5. Comportamento rispetto allo stato
- 6. UPDATE rispetto alle prestazioni INSERTO
- 7. C++ sicurezza rispetto alle eccezioni
- 8. Qualche motivo per utilizzare le proprietà autoattive rispetto alle proprietà implementate manualmente?
- 9. Comportamento proprietà interessante
- 10. Iniezione delle dipendenze rispetto alle dipendenze gestite rispetto all'oggetto globale
- 11. Posso interrompere il comportamento di HTTPResponseCache come una cache condivisa rispetto alle intestazioni di Cache-Control?
- 12. Errore lucido - Interattività utente/input non funzionante
- 13. Come fare riferimento alle immagini allegate dal corpo dell'email html in CRM2011
- 14. Strategia di registrazione rispetto alle prestazioni
- 15. Query preparate rispetto alle query create
- 16. Funzioni pubbliche rispetto alle aree pubbliche
- 17. Attributi dello chef rispetto alle borse dati
- 18. Cinese semplificato e tradizionale rispetto alle regioni
- 19. Objective-C Proprietà - comportamento getter
- 20. Passare alle proprietà in Backbone
- 21. Prestazioni del CALayer rispetto alle prestazioni di UIImageView
- 22. cosa è cambiato rispetto alle proprietà di classe groovy dopo il libro GINA?
- 23. <zipfileset> rispetto a <fileset> in ant
- 24. Proprietà con setter privata rispetto a get-only-proprietà
- 25. cout << ordine di chiamata alle funzioni che stampa?
- 26. Utilizzo della proprietà DesignMode rispetto a LicenseManager.UsageMode
- 27. Esempio di proprietà rispetto a metodi JS
- 28. Perché il comportamento è diverso rispetto alle variabili globali in "modulo di importazione" vs "dal modulo di importazione *"?
- 29. readystatechange utilizzando addEventListener rispetto alla proprietà vecchio stile?
- 30. Stub il comportamento di una proprietà readOnly
Tuttavia, diventa difficile aggiungerli con uno stile. –
In realtà ci sono alcune cose che non si possono fare con le proprietà allegate ... Ad esempio, sarebbe possibile aggiungere più istanze dello stesso comportamento, ma è possibile impostare una proprietà allegata solo una volta. OTOH, le proprietà associate hanno una sintassi più breve e possono essere utilizzate negli stili, il che è difficile con i comportamenti. –
@ThomasLevesque è anche possibile definire una proprietà associata che aggiunge comportamenti a un determinato elemento dell'interfaccia utente e impostare tale proprietà in uno stile .. haha =) –