예제 #1
0
        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;
            }
        }
예제 #2
0
 /// <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);
 }