private void OnSeparatedEditingRequest(object sender, SeparatedFieldEditingEventArgs e) { if (separatedPanels.Count == 0) { backgroundPanel.BackgroundImage = Mobile.Properties.Resources.DefaultBackgroundDark; } Panel separatedPanel = new Panel() { Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top, Size = mainPanel.Size, Location = mainPanel.Location }; separatedPanel.Visible = false; containerPanel.Controls.Add(separatedPanel); separatedPanels.Push(separatedPanel); int offset = 0; for (int i = e.Controllers.Length - 1; i >= 0; i--) { Control container = CreateControllerContainer(e.Controllers[i] as Control); separatedPanel.Controls.Add(container); offset += container.Height; } if (e.Controllers.Length > 0) { offset -= separatedPanel.Controls[e.Controllers.Length - 1].Height; offset += separatedPanel.Controls[e.Controllers.Length - 1].Controls[0].Height; separatedPanel.Controls[e.Controllers.Length - 1].Height = separatedPanel.Controls[e.Controllers.Length - 1].Controls[0].Height; } separatedPanel.Height = offset; containerPanel.Height = separatedPanel.Height + (2 * separatedPanel.Top); mainPanel.Hide(); separatedPanel.Show(); leftbutton = (int)leftActionButtons.Close; previousMenuItem.Text = closeButton; rightbutton = (int)rightActionButtons.Done; nextMenuItem.Text = doneButton; containerPanel.Invalidate(); Refresh(); if (e.DisplayInfo != null) { progressBar.Title = e.DisplayInfo; } }
/// <summary> /// Manages the event raised when the controllers must be display in /// a different page. /// </summary> /// <param name="sender">The sender of the raised event.</param> /// <param name="e">The data of the raised event.</param> private void OnInnerSeparatedRequest(object sender, SeparatedFieldEditingEventArgs e) { OnSeparatedRequest(e); }