1
resposta

Como atualizar dados na tela?

Em nenhum momento do curso eu consegui encontrar um exemplo de como atualizar uma informação na tela. Nem mesmo neste exemplo de uso da câmera, o curso não mostra a foto de fato sendo exibida na tela. Na edição de perfil do usuário, as informações editadas na tab de edição também não estão sendo atualizadas na tab do perfil. Onde nos 4 cursos ensina a fazer isso? Não estou achando

1 resposta

Olá, Alexandre

Para atualizar a UI (interface do usuário) o que fazemos normalmente no Xamarin é utilizar o padrão MVVM (Model-View-ViewModel):

  1. Criando um ViewModel que servirá de modelo para a view
  2. Criando campo(s) na ViewModel que notificam a View de que seu valor foi alterado. Fazemos isso no set da propriedade
  3. Criando uma view "amarrada" (com "binding") às propriedades da ViewModel. Isso permite que a view seja atualizada quando a propriedade "lançar uma notificação".

Veja por exemplo o caso do campo Nome:

Primeiro criamos uma propriedade na ViewModel. Note que precisamos chamar o método OnPropertyChanged() que está na classe-base.

public string Nome
{
    get
    {
        return Agendamento.Nome;
    }

    set
    {
        Agendamento.Nome = value;
        OnPropertyChanged();
        ((Command)AgendarCommand).ChangeCanExecute();
    }

}

AgendamentoViewModel.cs

E então estabelecemos uma "amarração" (binding) com a ViewModel, para que o campo na tela seja alterado automaticamente quando a propriedade lançar a notificação (OnPropertyChanged):

<EntryCell Label="Nome:" Text="{Binding Nome}"></EntryCell>

AgendamentoView.xaml

Explicamos esse funcionamento do MVVM neste vídeo:

Aula 06 Vídeo 06 - Modelo MVVM

https://cursos.alura.com.br/course/xamarin-aplicativos-mobile-com-visual-studio-parte-4/task/25424

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software