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); }