Convention sur les éléments de Caliburn
-
26-09-2019 - |
Question
Tout en essayant d'apprendre la source de l'application d'échantillon de gamelibrary, j'ai vu une ligne comme celle-ci:
ConventionManager.AddElementConvention<Rating>(Rating.ValueProperty, "Value", "ValueChanged");
A examiné la source de Caliburn mais ne pouvait pas vraiment comprendre ce que sont les conventions des éléments.
Quelqu'un peut-il décrire brièvement s'il vous plaît?
La solution
ConventionManager.AddElementConvention
Vous permet d'établir un ensemble de paramètres "par défaut" utilisés par le système de convention pour chaque élément de type.
Dans le cas mentionné ci-dessus, la première valeur de paramètre de
Rating.ValueProperty
Indique au système de convention quelle est la propriété liée par défaut pour l'élément. Donc, si nous avons un match de convention sur unRating
contrôle, nous avons configuré la liaison contre leValueProperty
.Le deuxième paramètre représente la propriété par défaut à utiliser dans les liaisons d'action. Donc, si vous créez une liaison d'action avec un
ElementName
qui pointe vers unRating
contrôle, mais ne spécifiez pas la propriété, nous retombons auValue
propriété.Enfin, le paramètre Thrid représente l'événement par défaut pour le contrôle. Ainsi, si nous attachons une action à un contrôle de notation, mais ne spécifiez pas l'événement pour déclencher cette action, le système retombera au
ValueChanged
un événement.
Ces conventions d'éléments permettent au développeur de fournir autant ou peu d'informations dans une variété de situations, permettant au cadre de remplir les détails manquants en tant que pertinence.