Convenzione dell'elemento Caliburn
-
26-09-2019 - |
Domanda
Mentre cercavo di imparare la fonte per l'applicazione di esempio di gamelibrary, ho visto una riga come questa:
ConventionManager.AddElementConvention<Rating>(Rating.ValueProperty, "Value", "ValueChanged");
Ho guardato nella fonte di Caliburn ma non riuscivo davvero a capire quali siano le convenzioni degli elementi.
Qualcuno può descrivere brevemente per favore?
Soluzione
ConventionManager.AddElementConvention
Consente di stabilire una serie di impostazioni "predefinite" utilizzate dal sistema di convenzione per ciascun elemento di tipo.
Nel caso sopra menzionato, il primo valore del parametro di
Rating.ValueProperty
Dice al sistema di convenzione quale sia la proprietà vincolabile predefinita per l'elemento. Quindi, se abbiamo una partita di convenzione su unRating
controllo, abbiamo impostato il legame contro ilValueProperty
.Il secondo parametro rappresenta la proprietà predefinita da utilizzare nei legami di azione. Quindi, se si crea un'azione vincolante con un
ElementName
che punta a aRating
controllo, ma non specificare la proprietà, torniamo alValue
proprietà.Infine, il parametro Thid rappresenta l'evento predefinito per il controllo. Quindi, se alleghiamo un'azione a un controllo di valutazione, ma non specifichiamo l'evento per attivare tale azione, il sistema tornerà al
ValueChanged
evento.
Queste convenzioni di elementi consentono allo sviluppatore di fornire altrettanto o poche informazioni in una varietà di situazioni, consentendo al framework di compilare i dettagli mancanti come appropriati.