8
respostas

Erro ao criar o evento para o ItemTapped

Apresenta o erro Ensure Event Failed

8 respostas

De uma olhada nesse post da alura, era o mesmo problema que esta acontecendo com você. https://cursos.alura.com.br/forum/topico-erro-ensure-event-failed-44628

Sobre o name space , acho que não é a solução.

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:TestDrive"
             x:Class="TestDrive.MainPage">


    <ListView x:Name="lvVeiculos" ItemsSource="{Binding Veiculos}" Margin="25" ItemTapped="">
        <ListView.ItemTemplate>
            <DataTemplate>
                <ViewCell>
                    <ViewCell.View>
                        <StackLayout Orientation="Horizontal">
                            <Label Text="{Binding Nome}" VerticalTextAlignment="Center"></Label>
                            <Label Text=" - " VerticalTextAlignment="Center"></Label>
                            <Label Text="{Binding ValorFormatado}" FontAttributes="Bold" VerticalTextAlignment="Center"></Label>
                        </StackLayout>
                    </ViewCell.View>
                </ViewCell>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>

</ContentPage>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;

namespace TestDrive
{
    public partial class MainPage : ContentPage
    {
        public ICollection<Veiculo> Veiculos { get; set; }

        public MainPage()
        {
            InitializeComponent();

            this.Veiculos = new List<Veiculo>()
            {
                new Veiculo{ Nome = "Novo Polo TSI", Valor = 75000},
                new Veiculo{ Nome = "Onix LTZ", Valor = 60000},
            };

            this.BindingContext = this;
        }
    }



    public class Veiculo
    {
        public string Nome { get; set; }
        public decimal Valor { get; set; }

        public string ValorFormatado
        {
            get {return string.Format("R$ {0}", this.Valor); }
        }
    }
}

Mesmo colocando TestDrive.MainPage como namespace, que acho que está errado, não funciona.

Já até reinstalei o VS

Nenhuma idéia do que possa ser pessoal? Tá difícil usar o xamarim, dá muito pau.

Poderia me passar o projeto para dar uma olhada nele com um todo??

Opá, claro! Como posso te enviar?

salva no Google drive ou ondrive e me passa um link que é possa baixar ele

Vamos ver se consegui resolver seu problema. Nesse link: https://drive.google.com/file/d/1exI2a_DL2RbJHe3w4D5HoO5JVjztlr_j/view?usp=sharing esta o projeto atualizado. Aparentemente era um problema com a versão do pacote do xamarim.forms. Ao verificar através do Nuget no seu projeto estava na versão: 2.5.0.122203. Mudei para 2.4.0.282 e consegui adicionar o evento. Espero que seja isso.

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