Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Como a ListagemView sabe da existência do VeiculoSelecionado ?

No código a gente coloca no SelectedItem um binding para o VeiculoSelecionado (da classe ListagemViewModel), mas nós não colocamos que o binding context da view é a classe ListagemViewModel (que possui essa prop), então como o xamarin conseguiu localizar essa propriedade se em nenhum momento dizemos que ela esta de alguma forma ligada com a ListagemViewModel ?

1 resposta
solução!

Olá Marco, tudo certo?

Vamos lá. A View faz o binding para uma propriedade chamada VeiculoSelecionado, que teoricamente deveria estar em ListagemVeiculo.xaml.cs, que é seu próprio Code Behind, porém, essa é a mágica da orientação a objetos. A View conhece a página referente ao arquivo de Code Behind, e espera que ele forneça dados para a View, mas ela não precisa saber de onde o Code Behind arruma esses dados, e é aí que é possível fazer o Binding para uma propriedade que está dentro do ViewModel, afinal, a linha this.BindingContext = this.ViewModel; faz com que tudo que a View precise, seja buscado dentro do objeto ViewModel, que também foi definido no construtor da classe ListagemView:

public ListagemView()
        {
            InitializeComponent();
            this.ViewModel = new ListagemViewModel();
            this.BindingContext =this. ViewModel;
        }

Espero ter ajudado!

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