Meu plugin minha vida — Xamarin.Forms.EventAggregator
Fala 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 do MessagingCenter .
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 Plugin
Vamos ao querido Nuget baixar o pacote Xamarin.Forms.EventAggregator e instalar no projeto compartilhado :
Pronto! Não requer mais configurações :D
Utilizando o Plugin
Vamos criar uma classe para ser nossa mensagem de exemplo :
Agora vamos criar nossa View Principal que ira receber a mensagem:
E sua ViewModel :
para 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<TextMessage>( TextHandler); Implementa um Handler, que vai ficar registrado “escutando” e esperando receber algo.
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 :
E sua ViewModel :
Nessa 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!