Beispiel #1
0
        public override void InitialiseControls()
        {
            var horizontalAlignment = Menu.Centred ? HorizontalAlignment.Center : HorizontalAlignment.Left;
            var verticalAlignment   = Menu.Centred ? VerticalAlignment.Center : VerticalAlignment.Top;

            var background = new BackgroundControl {
                Position = Position, Padding = Padding, HorizontalAlignment = horizontalAlignment, VerticalAlignment = verticalAlignment
            };

            Controls.Add(background);

            MenuActions = new MenuActionsControl {
                AvailableActions = Menu.AvailableActions, SelectedAction = Menu.SelectedAction, SelectedColor = Color.Blue, VerticalAlignment = VerticalAlignment.Top, HorizontalAlignment = HorizontalAlignment.Right
            };
            background.Controls.Add(MenuActions);

            var topFlow = new FlowContainerControl {
                HorizontalAlignment = horizontalAlignment, VerticalAlignment = verticalAlignment, ShrinkToContents = true
            };

            var titleText = new LargeTextControl {
                Parameters = Menu.MenuName
            };

            topFlow.Controls.Add(titleText);

            var lineControl = new LineControl();

            topFlow.Controls.Add(lineControl);

            background.Controls.Add(topFlow);

            PagedMenuControl = new PagedMenuControl {
                MenuItems = Menu.MenuItems, SelectedItem = Menu.SelectedItem, ShrinkToContents = true, Margin = new Padding(4, 1, 1, 1), HorizontalAlignment = horizontalAlignment, VerticalAlignment = verticalAlignment
            };

            topFlow.Controls.Add(PagedMenuControl);
        }
        private int GetWidth(MenuActionsControl display)
        {
            var totalActionWidth = display.AvailableActions.Sum(a => a.ToString().Length + 1) - 1;

            return(totalActionWidth + 2);
        }