В UITableViewController У меня есть метод, который обновляет нижнюю панель инструментов, отображающую общую цену.Вызов метода в UITableViewController из пользовательского UITableViewController в Xamarin
public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath)
{
var cell = (CartCell)tableView.DequeueReusableCell(CellIdentifier, indexPath);
if (cell == null)
{
cell = new CartCell(this.Handle);
}
cell.UpdateCartCell(tableItems[indexPath.Row]);
return cell;
}
В UITableViewCell у меня есть UIStepper. Я не могу понять, как я могу вызвать метод в UITableViewController, когда был нажат stepper, поэтому я смогу обновить свой нижний текст панели инструментов.
partial class CartCell : UITableViewCell
{
int quantity;
float cartItemTotal;
public CartCell(IntPtr handle)
: base(handle)
{
}
public void UpdateCartCell(CartItem cartItem)
{
quantity = cartItem.Quantity;
cartItemTotal = cartItem.thisTotal;
productName.Text = cartItem.Name;
productDescription.Text = cartItem.Description;
productQuantyty.Text = quantity.ToString();
productPrice.Text = cartItem.Price;
stepper.Value = quantity;
stepper.MinimumValue = 1;
stepper.ValueChanged += (o, s) =>
{
double value = stepper.Value;
#region **** QTY Remove****
if (value < quantity)
{ ... }
#endregion
#region **** QTY Add****
if (value > quantity)
{ ... }
#endregion
};
}
}
Спасибо, да, что это хороший способ решения этой проблемы, но наконец, я выясняю и внедряю уведомления. Если вы используете уведомления, вам нужно меньше кода. – Djonkwt