O vídeo está faltando conteúdo, entre o vídeo anterior e esse, código aparecem sem explicação e sem explicar os conceitos dos Modes do Binding e OnPropertyChanged()
O vídeo está faltando conteúdo, entre o vídeo anterior e esse, código aparecem sem explicação e sem explicar os conceitos dos Modes do Binding e OnPropertyChanged()
Oi Rafael,
Passei o seu comentário para a equipe de revisão dar uma olhada. Assim que tivermos uma posição te respondemos aqui beleza?
Obrigada por apontar o problema.
Bons estudos!
Abraço!
Olá, Rafael
O vídeo está faltando conteúdo, entre o vídeo anterior e esse, código aparecem sem explicação e sem explicar os conceitos dos Modes do Binding e OnPropertyChanged()
Os conceitos de mode e binding são explicados aos 09:57 do vídeo:
https://cursos.alura.com.br/course/xamarin-aplicativos-mobile-com-visual-studio-parte-1/task/23771
"Então o que ficou faltando pra gente é notificar o Xamarin Forms de que houve uma mudança numa das propriedades que estão sendo acessadas via Binding. E qual propriedade é essa? É a propriedade boolean
TemFreioABS
. Apesar de a gente estar exibindo a informação para o usuário de que o Freio ABS está ligado ou desligado, a gente não está notificando de fato no Xamarin Forms. Então a gente tem que fazer aqui uma estratégia de notificação do Xamarin Forms de que uma propriedade de binding está sendo modificada. A gente faz isso chamando um método que já faz parte de uma página do Xamarin Forms, que é o método chamadoOnPropertyChanged
. Então oOnPropertyChanged
eu posso passar sem nenhum parâmetro e ele vai notificar a página de que houve uma mudança numa propriedade que faz parte do binding. Além disso, é bom fazer uma outra mudança aqui na nossa página, para modificar o tipo de binding que a gente está utilizando. Até agora, vimos como utilizar o binding simples, que é o binding que está simplesmente recebendo o valor lá do nosso code behind e está modificando a nossa página de acordo com esse valor que vem do código C#. Só que o contrário também precisa acontecer. Ou seja, nosso código C# tem que ser notificado de que houve uma mudança na nossa página. A gente vai fazer isso trocando o modo com que a gente faz o binding. Eu vou utilizar o modoTwoWay
, que é um modo de notificação de duas vias. Ou seja, tanto a página é notificada e atualizada com o valor que vem do C#, quanto o contrário: a página notifica o código C# de que houve uma atualização. Então a gente vai colocar aqui o modeTwoWay
nas outras propriedades também. E também no valor total."
Você pode encontrar informação mais detalhada nos documentos do Xamarin:
https://developer.xamarin.com/api/member/Xamarin.Forms.Element.OnPropertyChanged/p/System.String/
https://developer.xamarin.com/api/type/Xamarin.Forms.BindingMode/
Essa explicação é satisfatória? Se ficou alguma dúvida nos avise! Abraço!