private void ProductDisplay_AddToCartClicked(object sender, EventArgs e) { // selected product ProductDisplay element = sender as ProductDisplay; ProductViewModel item = element.BindingContext as ProductViewModel; // add a shopping card item ((MainViewModel)this.BindingContext).ShoppingCart.IncrementOrder(item); }
private async void TapGestureRecognizer_Tapped(object sender, EventArgs e) { // the user has tapped on an element ProductDisplay element = sender as ProductDisplay; // set the binding context to the selected cell FakeProductCell.BindingContext = element.BindingContext; FakeProductCell.ImageOffsetX = element.ImageOffsetX; FakeProductCell.ImageOffsetY = element.ImageOffsetY; FakeProductCell.Opacity = 1; FakeProductCell.IsVisible = true; // set the selected item ((MainViewModel)this.BindingContext).SelectedProduct = element.BindingContext as ProductViewModel; // set the layout to the same postion var yScroll = ScrollContainer.ScrollY; Rectangle rect = new Rectangle( x: ScrollContainer.X + element.X, y: ScrollContainer.Y + element.Y - yScroll, width: element.Width, height: element.Height); AbsoluteLayout.SetLayoutBounds(FakeProductCell, rect); // hide the cell we clicked on element.Opacity = 0.01; await FakeProductCell.ExpandToFill(this.Bounds); element.Opacity = 1; // display the page popover PagePopover.Opacity = 0; PagePopover.IsVisible = true; await PagePopover.Expand(); }