Quero que a label quantidade mude na view mas ela se mantem em 0
Minha view
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Orientation="Horizontal">
<Label
x:Name="descricao"
HorizontalOptions="FillAndExpand"
Text="{Binding Descricao}"
VerticalTextAlignment="Center" />
<Label
x:Name="quantidade"
Focused="Quantidade_Focused"
HorizontalOptions="End"
HorizontalTextAlignment="Start"
WidthRequest="30"
VerticalOptions="Center"
Text="{Binding Quantidade, Mode=Default}"
/>
<Button
VerticalOptions ="Center"
BackgroundColor ="#66CC66"
HeightRequest="63"
HorizontalOptions="End"
ImageSource="observacao.png"
WidthRequest="63"
Clicked="Button_adicional"/>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Eu fiz o Binding com o ListProdutod, e quero adicionar +1 a label quantidade na view , atravez do metodo ItemTapped da listView
no code behind
private void ListView_ItemTapped(object sender, ItemTappedEventArgs e)
{
Produto produto = (Produto)e.Item;
ViewModel.AddUmProduto.Execute(produto.Id);
}
Meu Viewmodel
public class ComandaViewModel : BaseViewModel { ContaCliente ContaCliente;
private ObservableCollection<Produto> _listaProdutos;
public ObservableCollection<Produto> ListaProdutos
{
get { return _listaProdutos; }
set
{
_listaProdutos = value;
OnPropertyChanged();
}
}
public ComandaViewModel( AcessoCatraca mesaComanda, GrupoProduto grupo)
{
ContaCliente = new ContaCliente(mesaComanda);
ListaProdutos = getListProdutoBd(grupo.Codigo);
}
/// <summary>
/// Remove um item (ContaCLienteItem) da lista do carrinho
/// </summary>
public Command AddUmProduto
{
get
{
return new Command<int>((idProduto) =>
{
ListaProdutos.First(x => x.Id == idProduto).Quantidade += 1;
OnPropertyChanged("ListaProdutos");
});
}
}
public String Titulo
{
get
{
return $"Mesa {ContaCliente.AcessoCatraca.Referencia}";
}
}
private ObservableCollection<Produto> getListProdutoBd(int idGrupo)
{
ObservableCollection<Produto> listaDao;
using (var conexao = DependencyService.Get<ISQLite>().pegarConexao())
{
ProdutoDao dao = new ProdutoDao(conexao, idGrupo);
listaDao = dao.Lista;
//Preenche ListaDeAdicionais como não null
for (int i = 0; i < listaDao.Count; i++)
{
dao.Lista[i].ListaDeAdicionais = new List<Produto>();
}
}
// Ordena descrição
listaDao = new ObservableCollection<Produto>(listaDao
.OrderBy(i => i.Descricao)
);
return listaDao;
}
}