2010-06-07 16 views

Respuesta

8

El campo se declara como estática es sólo el identificador de una propiedad de dependencia, no el valor de la propiedad. Se comparte en todas las instancias de la clase y se usa para obtener/establecer el valor de la propiedad para cada instancia.

+0

Tengo algunos requisitos para hacer que el DP sea estático porque quiero compartirlo en todas las instancias. ¿Es posible? –

+0

@ RV1987, realmente no tiene sentido ... si usted quiere hacer eso, no use un DP, solo use una propiedad CLR estática –

+0

@ThomasLevesque: En serio, no puedo entender el significado o la justificación de sus declaraciones estás tratando de decir Aunque soy novato y no entiendo tus palabras. Por qué deberíamos establecer valor para cada instancia si es estática. Estático significa su invocación de una sola vez durante todo el ciclo de vida del programa. – Learner

12

Cuando se declara una DependencyProperty, que está declarando la definición de esa propiedad, en lugar del espacio de almacenamiento para el valor de la propiedad (como sería el caso de la declaración de propiedad regular). Solo hay una definición de la propiedad para toda la clase, en oposición a una definición por instancia de la clase, por lo que es estática.

+0

¿dónde está el almacenamiento entonces? – zinking

+5

Cualquier objeto con 'DependencyProperty' deriva del tipo' DependencyObject'. Una instancia de 'DependencyObject' incluye una bolsa de propiedades, esencialmente un diccionario de nombre de propiedad asignado al valor, y el valor de cualquier' DependencyProperty' que se establece se almacena en esa bolsa. –

Cuestiones relacionadas