我有2页 product_page 和 novo_pedido_page 。当我进入 novo_pedido_page 时,我有一个按钮可以调用 product_Page 从网格中选择一种产品。我想做的是,选择该产品并发送回 novo_pedido_page 。
到目前为止,我所做的是在 novo_pedido_page 上进行的操作:
private async void ToolbarItem_Clicked(object sender, EventArgs e)
{
await Navigation.PushModalAsync(new product_page());
}
答案 0 :(得分:1)
您需要使用事件处理程序和委托:
在product_page中,您应该发送事件:
public event EventHandler<Product> ProductSelected;
private void Product_Clicked(object sender, EventArgs e)
{
var productId = ((Button) sender).CommandParameter;
var product = GetProduct(productId);
ProductSelected?.Invoke(this, product);
}
在novo_pedido_page中,您必须订阅并处理此事件:
private Product selectedProduct;
private async void ToolbarItem_Clicked(object sender, EventArgs e)
{
var page = new product_page();
page.ProductSelected += OnProductSelected;
await Navigation.PushModalAsync(page);
}
private void OnProductSelected(object sender, Product product)
{
this.selectedProduct = product;
}