Caliburn -Elementkonvention
-
26-09-2019 - |
Frage
Während ich versuchte, die Quelle für die Gamelibrary -Beispielanwendung zu lernen, habe ich eine solche Zeile gesehen:
ConventionManager.AddElementConvention<Rating>(Rating.ValueProperty, "Value", "ValueChanged");
Schaute in die Quelle von Caliburn, konnte aber nicht wirklich verstehen, welche Elementkonventionen sind.
Kann jemand bitte kurz beschreiben?
Lösung
ConventionManager.AddElementConvention
Ermöglicht Ihnen eine Reihe von "Standard" -Inaleinstellungen fest, die vom Konventionssystem für jedes Typelement verwendet werden.
In dem oben genannten Fall der erste Parameterwert von
Rating.ValueProperty
teilt dem Konventionssystem mit, wie die Standard -Bindbare Eigenschaft für das Element ist. Also, wenn wir ein Kongressmatch auf a habenRating
Kontrolle, wir stellen die Bindung gegen die einValueProperty
.Der zweite Parameter repräsentiert die Standardeigenschaft, die in Aktionsbindungen verwendet werden soll. Also, wenn Sie eine Aktionsbindung mit einem erstellen
ElementName
das zeigt auf aRating
Kontrolle, aber die Eigenschaft nicht angeben, wir fallen zurück auf dieValue
Eigentum.Schließlich repräsentiert der Thrid -Parameter das Standard -Ereignis für die Steuerung. Wenn wir also eine Aktion an eine Bewertungssteuerung anschließen, das Ereignis jedoch nicht angeben, um diese Aktion auszulösen, fällt das System zurück auf die
ValueChanged
Veranstaltung.
Diese Elementkonventionen ermöglichen es dem Entwickler, in verschiedenen Situationen so viel oder so wenig Informationen zu liefern, sodass der Rahmen die fehlenden Details als anerkennend eingeben kann.