private void OpenPopupMenu(object sender, MvxValueEventArgs<PopupMenuRequest> request) { this.CleanAll(); _currentRequest = request.Value; var view = base.Target as View; if (view == null) return; _menu = new PopupMenu(view.Context, view); int menuId = Menu.First + 1; foreach (var item in _currentRequest.LstPopupItem) { _menu.Menu.Add(0, menuId, item.Order, item.Title); menuId++; } _menu.MenuItemClick += MenuItemClick; _menu.DismissEvent += MenuDismissEvent; _menu.Show(); }
private void CleanAll() { if (_menu != null) { try { _menu.MenuItemClick -= MenuItemClick; _menu.DismissEvent -= MenuDismissEvent; } catch { } _menu = null; } if (_currentRequest != null) { _currentRequest.Clean(); _currentRequest = null; } }
private void OpenPopupMenu(PopupMenuRequest request) { this.CleanAll(); _currentRequest = request; _menu = new PopupMenu(this.Context, this); int menuId = Menu.First + 1; foreach (var item in request.LstPopupItem) { _menu.Menu.Add(0, menuId, item.Order, item.Title); menuId++; } _menu.MenuItemClick += MenuItemClick; _menu.DismissEvent += MenuDismissEvent; _menu.Show(); }