O X do Xamarin Forms — Triggers
Fala galera,
beleza?
Algumas vezes precisamos alterar o comportamento de um controle de nossa interface de acordo com alterações que ocorrem na execução de nosso APP.
Por exemplo queremos mudar a cor de fundo de um entry se uma determinada validação estiver incorreta. No caso criaríamos uma variável em nosso entry, efetuaríamos o Binding e de acordo com o que acontece a mudaríamos o comportamento no código.
Mas ai vem a pergunta? Quando eu faço isso ? Na interface? na View Model? no Evento ?
Existe uma forma muito melhor de resolver isso no Xamarin.Forms, e é chamada de Trigger!
Bora conhecer :D
O Xamarin.Forms possui 4 tipos de triggers, que acredito que atendam basicamente todas as suas (ou quase) necessidades.
São elas :
Property Triggers
Property Triggers são usadas quando você deseja alterar uma propriedade do controle de acordo com um valor específico de outra propriedade.
Em outras palavras é a trigger mais simples de implementar, podemos alterar um comportamento de acordo com um valor pré definido.
Por exemplo quero alterar o background do meu Entry quando eu escrever bertuzzi. Apenas preciso fazer :
Utilizando a tag Trigger, E então :
Data Triggers
São muito parecidas com as Property Triggers, só que podemos utilizar valores da nossa ViewModel ou até de outras propriedades por exemplo :
Enquanto o nome não for preenchido , não sera habilitado o sobrenome. Notem que estou utilizando um campo que faz bindind na viewmodel para isso, utilizando a tag DataTrigger :
Event Triggers
Este como o nome diz é ativado quando ocorre um evento. Por exemplo imagine que eu quero mudar a cor de um botão quando ele é acionado.
Primeiro precisamos criar a trigger utilizando a base TriggerAction:
E então implementar no botão utilizando a tag EventTrigger :
Rodando :
Multi Triggers
Mesmo conceito do DataTrigger, porem podemos combinar diversos cenários para executar a mesma. Por exemplo um botão de Entrar que só habilita se o Login e Senha foram preenchidos de forma correta, utilizamos a tag MultiTrigger :
Então temos :
Em resumo, Triggers podem facilitar muito nossa implementação e onde implementar determinados eventos :D
Curtiram?
Caso queira baixar o código utilizado no Exemplo: Clique aqui.
Quer ver outros artigos sobre Xamarin ? Clique aqui.
Espero ter ajudado!
Aquele abraço!