2010-02-24 13 views

Respuesta

38

No. Los comportamientos son básicamente una abstracción mucho mejor que las propiedades adjuntas.

Al utilizar Behavior<T>, obtiene acceso directamente al AssociatedObject, así como la capacidad de adjuntar y separar el comportamiento, fácilmente, en tiempo de ejecución.

Puede hacer esto con las propiedades adjuntas, pero requeriría agregar una gran cantidad de plomería adicional.

+0

Sin embargo, se hace difícil agregarlos con un estilo. –

+1

En realidad, hay algunas cosas que no puede hacer con las propiedades adjuntas ... Por ejemplo, sería posible agregar varias instancias del mismo comportamiento, pero solo puede establecer una propiedad adjunta una vez. OTOH, las propiedades adjuntas tienen una sintaxis más corta y se pueden usar en estilos, lo cual es difícil con los comportamientos. –

+0

@ThomasLevesque también puede definir una Propiedad adjunta que agrega Comportamientos a un elemento de UI determinado y establecer esa propiedad en un Estilo .. haha ​​=) –

2

Los comportamientos se basan en las propiedades adjuntas. Eso significa que si no puede encontrar un comportamiento específico, escriba el suyo propio, ya sea basado en el marco de comportamientos proporcionado por Blend o creando su propio AP ...

Siempre pensé que los comportamientos son una gran evidencia de la potencia de las propiedades adjuntas. Simplemente increíble lo que puedes conseguir con ellos.

7

Tiendo a usar comportamientos para agregar funcionalidad que hace cambios visibles. Considerando que utilizo propiedades adjuntas para agregar información adicional a un objeto que posteriormente es utilizado por otros objetos.

E.g. Grid.Row es una buena propiedad adjunta, ya que es utilizada por la Grilla y no por el objetivo. Por otro lado, Autocorrección haría un buen comportamiento, ya que esto hará cambios visibles en el objeto.

0

Esta no es la respuesta. Pero la mejor explicación que puedo encontrar sobre este tema http://briannoyes.net/attached-behaviors-vs-attached-properties-vs-blend-behaviors/

Brian Noyes en sus artículos describe claramente las diferencias entre cada uno de los conceptos.

+0

El enlace proporcionado está roto. –

+1

Aquí está el enlace de trabajo http://briannoyesblog.azurewebsites.net/2012/12/20/attached-behaviors-vs-attached-properties-vs-blend-behaviors/ – lukeguy