Convenção do Elemento Caliburn
-
26-09-2019 - |
Pergunta
Enquanto tentava aprender a fonte de aplicativo de amostra de gamelibrary, vi uma linha como esta:
ConventionManager.AddElementConvention<Rating>(Rating.ValueProperty, "Value", "ValueChanged");
Analisou a fonte de Caliburn, mas não conseguia entender quais são as convenções de elementos.
Alguém pode descrever brevemente, por favor?
Solução
ConventionManager.AddElementConvention
Permite estabelecer um conjunto de configurações "padrão" usadas pelo sistema de convenções para cada elemento de tipo.
No caso mencionado acima, o primeiro valor do parâmetro de
Rating.ValueProperty
Diz ao sistema de convenções qual é a propriedade Bindable padrão para o elemento. Então, se tivermos uma partida de convenção em umRating
controle, montamos a ligação contra oValueProperty
.O segundo parâmetro representa a propriedade padrão a ser usada em ligações de ação. Então, se você criar uma ação vinculativa com um
ElementName
Isso aponta para umRating
Controle, mas não especifique a propriedade, voltamos aoValue
propriedade.Finalmente, o parâmetro Thrid representa o evento padrão para o controle. Portanto, se anexarmos uma ação a um controle de classificação, mas não especifique o evento para acionar essa ação, o sistema voltará ao
ValueChanged
evento.
Essas convenções de elementos permitem que o desenvolvedor forneça tanta ou pouca informação em uma variedade de situações, permitindo que a estrutura preencha os detalhes ausentes como apropriados.