Meu plugin minha vida — Xamarin.Forms.EventAggregatorFala galera,
Tudo beleza?
Em julho do ano passado eu publiquei um artigo chamado O X do Xamarin Forms — Utilizando EventAggregator (Sem o Prism). Muitas pessoas me procuraram , agradeceram e tem utilizado a dica no lugar doMessagingCenter .
Para facilitar mais ainda a utilização em novembro de 2020 eu criei um pacote nuget chamado Xamarin.Forms.EventAggregator e agora depois de 5.560 Downloads! Vim trazer ele aqui no medium para vocês , bora conhece?
Bem Antes de mais nada, para não ser repetitivo se você não sabe o que é a ideia do EventAggregator e como funciona não esqueça de ver o artigo :Utilizando EventAggregator (Sem o Prism)
Se você já leu, bora pro Plugin!
Configurando o PluginVamos ao querido Nuget baixar o pacote Xamarin.Forms.EventAggregator e instalar no projeto compartilhado :
Pronto! Não requer mais configurações :D
Utilizando o PluginVamos criar uma classe para ser nossa mensagem de exemplo :
https://medium.com/media/da6e3b8bc55b3691a10c8894fe1e9dab/hrefAgora vamos criar nossa View Principal que ira receber a mensagem:
https://medium.com/media/03130981006ee4a66de669beeb962b5d/hrefE sua ViewModel :
https://medium.com/media/78e75070256a55397b545001b2c14d3a/hrefpara facilitar a navegação eu utilizei o MVVMHelpers , que inclusive se quiser saber mais eu fiz um artigo sobre ele : O X do Xamarin Forms — MVVM Helpers
Note que nessa ViewModel fizemos a implementação do Plugin, o EventAggregator.Instance.RegisterHandler
Nesse caso ele recebe nossa TextMessage criada anteriormente e sobrescreve o valor da Propriedade Text pelo valor dela. Você pode criar qualquer tipo de Event dependendo da sua necessidade.
Agora vamos criar a pagina que ira enviar a Mensagem :
https://medium.com/media/0128724139e2f4ccff4651e2e27bbf21/hrefE sua ViewModel :
https://medium.com/media/12697c8445ca8d4e34e58d2a6f0b646d/hrefNessa ViewModel nos Chamamos o Método EventAggregator.Instance.SendMessage(TextMessage); Ele é o responsavel por enviar a mensagem para o Handler que ficou escutando o TextMessageEvent da ViewModel anterior.
Agora vamos rodar :
Muito legal né?
Caso não queira utilizar o pacote, pode pegar a implementação do código no repositório oficial.
Mas se preferir o pacote Nuget pode baixar o exemplo no repositório oficial do pacote clicando aqui.
Quer ver outros artigos sobre Xamarin ? Clique aqui.
Espero ter ajudado!
Aquele abraço!