none
Xamarim Form Cross Plataforma não executa Binding Command no xaml qual erro veja descrição ? RRS feed

  • Pergunta

  • Olá Pessoal sou Manoel do Brasil Salvador Bahia.

    xamarim agora é open source estou desenvolvendo um aplicativo teste no visual estúdio 2013, tudo esta ocorrendo e executa aplicação no emulador do visual studio android. 

    Coloquei um button no xaml chamando um Command com Binding ao executar aplicação rodar normal mais ao apertar no botao nao esta executado o metado chamando pelo commando na xaml ? qual erro?

    vou postar as imagens do projeto em sequencia

    Agradeço qualquer orientação eu ajuda também na pontuação.Projeto


    -------Codigo da App----------
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    using Xamarin.Forms;
    
    namespace App1.OlaMundo
    {
        public class App : Application
        {
            public App()
            {   
                MainPage = new View.LivrosView();
            }
    
            protected override void OnStart()
            {
                // Handle when your app starts
            }
    
            protected override void OnSleep()
            {
                // Handle when your app sleeps
            }
    
            protected override void OnResume()
            {
                // Handle when your app resumes
            }
        }
    }



    -----Codigo--LivroViewModel
    
    using System;
    using System.Collections.Generic;
    using System.Collections.ObjectModel;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Input;
    
    namespace App1.OlaMundo.ViewModel
    {
        public class LivroViewModel
        {
    
            public ICommand CarregarCommand { get; set; }
    
            public ObservableCollection<Model.Livro> Livros { get; set; }
    
            public void LivrosViewModel()
            {
                Livros = new ObservableCollection<Model.Livro>();
                Livros.Add(new Model.Livro { Id = 1, titulo = "Primeiro Livro " });
                CarregarCommand = new Xamarin.Forms.Command(() =>
                {
                    Livros.Add(new Model.Livro { Id = 1, titulo = "Livro x" });
                });
            }    
        }
    }



    ----Codigo---XAML
    <?xml version="1.0" encoding="utf-8" ?>
    <ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
                 xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                 x:Class="App1.OlaMundo.View.LivrosView">
    
      <StackLayout Padding="20" Spacing="10">
        
        <Button Text="Carregar"  Command="{Binding CarregarCommand}"/>
        <ListView ItemsSource="{Binding Livros}">
          <ListView.ItemTemplate>
            <DataTemplate>
              <TextCell Text="{Binding titulo}">
              </TextCell>
            </DataTemplate>
          </ListView.ItemTemplate>
        </ListView>
      </StackLayout>
    </ContentPage>


    ---Codigo livro 
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace App1.OlaMundo.Model
    {
        public class Livro 
        {
            public int Id { get; set; }
            public string titulo { get; set; }
           // public Autor Autor { get; set; }
        }
    }



    Ao executar ao clica em carregar era para adicionar livro da ObservableCollection<Model.Livro> Livros { get; set; } Conforme o codigo postado LivroViewModel. Agradeço quem poder da uma orientação darei uma pontuação 

    domingo, 1 de maio de 2016 22:05

Respostas

  • Já consegui resolver o problema, tentei fazer outro projeto seguinte outra maneira de chama os métados na xaml.

    resolvi seguindo este tutorial:

    http://www.macoratti.net/15/12/xam_forms8.htm 

    se possível moderador Marcos Sj fechar esta pergunta agradeço.

    • Marcado como Resposta Marcos SJ sexta-feira, 6 de maio de 2016 10:31
    sexta-feira, 6 de maio de 2016 04:04

Todas as Respostas

  • Boa tarde Manoel Neto -Salvador Bahia,

    Desculpe, não compreendi o problema descrito em sua postagem. O código está apresentando algum erro?

    Se estiver, poderia compartilhar a mensagem de erro?

    Atenciosamente


    Marcos SJ

    Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.



    • Editado Marcos SJ segunda-feira, 2 de maio de 2016 13:22
    segunda-feira, 2 de maio de 2016 13:16
  • O erro é que ao clicar no botão "carregar" era para criar um livro e exibir em um textcell na xaml, conforme postei no código, mas ao clicar nada acontece. Não aparece nenhum erro, mas não realiza nenhuma ação.

    Era para executar da classe LivroviewModel conforme mostrado o código.

    Primeiro executar a app, depois chama a view xaml e o metado carregar na interface xaml chama com Bindig coregar command na classe livroviewmodel.

    Na classe tem um  livroviewmodel tem um metado que era para cria um livro e lista na texto cell xaml.

    public void LivrosViewModel()
            {
                Livros = new ObservableCollection<Model.Livro>();
                Livros.Add(new Model.Livro { Id = 1, titulo = "Primeiro Livro " });
                CarregarCommand = new Xamarin.Forms.Command(() =>
                {
                    Livros.Add(new Model.Livro { Id = 1, titulo = "Livro x" });
                });
            }    

     


    • Editado Marcos SJ terça-feira, 3 de maio de 2016 17:36 Edição
    segunda-feira, 2 de maio de 2016 23:37
  • Bom dia Manoel Neto MSYS,

    Tudo bem?

    Desculpe a demora, vou solicitar auxílio de um recurso para te auxiliar com este problema. Obrigado por sua participação no fórum.

    Atenciosamente


    Marcos SJ

    Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quarta-feira, 4 de maio de 2016 13:34
  • Já consegui resolver o problema, tentei fazer outro projeto seguinte outra maneira de chama os métados na xaml.

    resolvi seguindo este tutorial:

    http://www.macoratti.net/15/12/xam_forms8.htm 

    se possível moderador Marcos Sj fechar esta pergunta agradeço.

    • Marcado como Resposta Marcos SJ sexta-feira, 6 de maio de 2016 10:31
    sexta-feira, 6 de maio de 2016 04:04