Convención de elementos de Caliburn
-
26-09-2019 - |
Pregunta
Mientras intentaba aprender la fuente de la aplicación de muestra de gamelibrary, vi una línea como esta:
ConventionManager.AddElementConvention<Rating>(Rating.ValueProperty, "Value", "ValueChanged");
Miré en la fuente de Caliburn pero realmente no pude entender qué son las convenciones de elementos.
¿Alguien puede describir brevemente por favor?
Solución
ConventionManager.AddElementConvention
Le permite establecer un conjunto de configuraciones "predeterminadas" utilizadas por el sistema de convenciones para cada elemento de tipo.
En el caso mencionado anteriormente, el primer valor de parámetro de
Rating.ValueProperty
le dice al sistema de convenciones cuál es la propiedad de enlace predeterminada para el elemento. Entonces, si tenemos un partido de convención en unRating
control, configuramos la vinculación contra elValueProperty
.El segundo parámetro representa la propiedad predeterminada que se utilizará en enlaces de acción. Entonces, si crea una acción vinculante con un
ElementName
Eso apunta a unRating
control, pero no especifique la propiedad, volvemos alValue
propiedad.Finalmente, el parámetro THRID representa el evento predeterminado para el control. Entonces, si adjuntamos una acción a un control de calificación, pero no especificamos el evento para activar esa acción, el sistema volverá al
ValueChanged
evento.
Estas convenciones de elementos permiten al desarrollador suministrar tanta o tan poca información en una variedad de situaciones, lo que permite que el marco complete los detalles faltantes como aprobación.