1
I created a StackLayout with a labels inside that I need to display some information on them.
With that, I need it charged StackLayouts and completed the labels according to the amount of records on the list.
Example: The client may have more than 1 registered address. This view needs to return me the registered addresses of this client. So, load StackLayouts with the information completed according to the number of registered addresses.
How can I do that ?
My code:
\\ XAML
 <StackLayout x:Name="stkEnderecos" BackgroundColor="White">
    <Label x:Name="lblNomeDestinatario" Text=" {Binding EndDestinatario}" Font="16" TextColor="Black"></Label>
    <Label x:Name="lblTipoEndereco" Text=" {Binding EndTipo}" Font="16" TextColor="Black"></Label>
    <Label Text="_____________________________________________________" TextColor="Black"></Label>
    <Label x:Name="lblEndereco1" Font="14" TextColor="Black"></Label>
    <Label x:Name="lblEndereco2" Font="14" TextColor="Black"></Label>
    <Label x:Name="lblEndereco3" Font="14" TextColor="Black"></Label>
  </StackLayout>
    </StackLayout>
\\ .CS
 public MeusEnderecosView()
        {
            InitializeComponent();
            objAcesso = new AcessaDados();
            List<ClienteDB> ListCliente = objAcesso.Listar();
            if (ListCliente.Count > 0)
            {
                objCliente = new Clientes();
                objCliente.CliCPF = ListCliente[0].CPF;
                objCliente.CliSenha = ListCliente[0].Senha;
            }
            var viewModels = new ViewModels.MeusEnderecosViewModel(this, Api.APICliente.ConsultarCliente(objCliente));
            this.lblEndereco1.Text = " " + viewModels.EndLogradouro + ", " + viewModels.EndNumero + ", " + viewModels.EndComplemento;
            this.lblEndereco2.Text = " " + viewModels.EndBairro + ", " + viewModels.EndCidade + ", " + viewModels.EndUF;
            this.lblEndereco3.Text = " CEP: " + viewModels.EndCep;
            this.BindingContext = viewModels;
        }
\\ Viewmodel
  public MeusEnderecosViewModel(ContentPage Page, Clientes objCliente)
            {
                this.page = Page;
                objCliEnd = new ClientesEndereco();
                var picTpEndereco = page.FindByName<Picker>("picTpEndereco");
                var picUF = page.FindByName<Picker>("picUF");
                var stkEnderecos = page.FindByName<StackLayout>("stkEnderecos");
                objCliEnd.CliEndCodigo = objCliente.CliCodigo;
                List<ClientesEndereco> objListClientesEnderecos = new List<ClientesEndereco>();
                objListClientesEnderecos = Api.APICliente.ListarEnderecos(objCliEnd.CliEndCodigo); 
\\ CHAMADA DA API QUE RETORNA A LISTA DE ENDEREÇOS CADASTRADOS DO BD DE ACORDO COM O CÓDIGO DO CLIENTE
                foreach (ClientesEndereco objEndereco in objListClientesEnderecos)
                {
                    objCliEnd = new ClientesEndereco();
                    objCliEnd.EndDestinatario = objEndereco.EndDestinatario;
                    objCliEnd.EndTipo = objEndereco.EndTipo;
                    objCliEnd.EndNumero = objEndereco.EndNumero;
                    objCliEnd.EndComplemento = objEndereco.EndComplemento;
                    objCliEnd.EndBairro = objEndereco.EndBairro;
                    objCliEnd.EndCidade = objEndereco.EndCidade;
                    objCliEnd.EndUF = objEndereco.EndUF;
                    objCliEnd.EndCep = objEndereco.EndCep;
                }
            }