async void ProdcutoSrc_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
 {
     try
     {
         if (e.PropertyName.ToLower().Equals("text"))
         {
             var prod = vmParent.GetProducto(ProdcutoSrc.Text.Trim());
             int cta  = 0;
             if (int.TryParse(ProdCtaSrc.Text, out cta))
             {
                 item.Cantidad      = cta;
                 this.SubTotal.Text = item.SubTotal.ToString();
             }
             if (prod != null)
             {
                 item.Producto         = prod;
                 item.PrecioUnitario   = vmParent.GetPrecio(prod, SC_Devolucion.On, SC_Oferta.On);
                 ProductoSelected.Text = string.Concat(item.Producto.Codigo, " - ", item.Producto.Nombre, " - $ ", item.PrecioUnitario);
                 if (vmParent.IsProductoSelectionValid(prod, cta, out message))
                 {
                     this.cta_agregar.IsEnabled = true;
                 }
                 else
                 {
                     this.cta_agregar.IsEnabled = false;
                     if (message.Length > 0)
                     {
                         await DisplayAlert(this.Title, message, "ok");
                     }
                 }
             }
         }
     }
     catch (Exception ex)
     {
         string    messag = "";
         Exception er     = ex;
         while (er != null)
         {
             messag += er.Message + "!!!";
             er      = er.InnerException;
         }
         ((Entry)sender).TextColor = Const.TextInvalidColor;
         DisplayAlert("Error", messag, "OK");
     }
 }