protected override void OnSetupDockPanel(DockPanel dockPanel) { base.OnSetupDockPanel(dockPanel); WindowlessUpDownArrows arrows = new WindowlessUpDownArrows(); arrows.Layout = new DockLayout(new LayoutMeasurement(0, LayoutUnit.Star), DockStyle.Left); dockPanel.Controls.Add(arrows); }
public StationPresenter() { OverlayPanel overlay = new OverlayPanel(); // stretch to fit overlay.HorizontalAlignment = WindowlessControls.HorizontalAlignment.Stretch; overlay.VerticalAlignment = VerticalAlignment.Stretch; // dock the picture to the right and the info to the left DockPanel dock = new DockPanel(); StackPanel left = new StackPanel(); left.Layout = new DockLayout(new LayoutMeasurement(0, LayoutUnit.Star), DockStyle.Left); //m_Image.Layout = new DockLayout(new LayoutMeasurement(0, LayoutUnit.Star), DockStyle.Right); //m_Image.MaxHeight = 100; //m_Image.MaxWidth = 100; //dock.Controls.Add(m_Image); m_Distance.Layout = new DockLayout(new LayoutMeasurement(0, LayoutUnit.Star), DockStyle.Right); m_Distance.MaxHeight = 100; m_Distance.MaxWidth = 100; dock.Controls.Add(m_Distance); dock.Controls.Add(left); // 5 pixel border around the item contents dock.Margin = new Thickness(5, 5, 5, 5); // make the overlay fit the dock, so as to limit the size of the selection rectangle overlay.FitWidthControl = overlay.FitHeightControl = dock; // set up the rectangle color and make it fill the region m_Rectangle.Color = SystemColors.Highlight; m_Rectangle.HorizontalAlignment = WindowlessControls.HorizontalAlignment.Stretch; m_Rectangle.VerticalAlignment = VerticalAlignment.Stretch; // the rectangle does not paint by default m_Rectangle.PaintSelf = false; // add the extended info that is only visible when focused StackPanel nameAndNumber = new StackPanel(); nameAndNumber.Controls.Add(m_StationName); nameAndNumber.Controls.Add(m_StationNumber); m_ExtendedInfo.Visible = false; m_ExtendedInfo.Controls.Add(m_StationAddress); // set up the left side left.Controls.Add(nameAndNumber); left.Controls.Add(m_ExtendedInfo); // add the foreground and the background selection overlay.Controls.Add(m_Rectangle); overlay.Controls.Add(dock); // add the item Controls.Add(overlay); // this is the bottom border WindowlessRectangle bottomBorder = new WindowlessRectangle(Int32.MaxValue, 1, Color.Gray); Controls.Add(bottomBorder); }
protected override void OnSetupDockPanel(DockPanel dockPanel) { WindowlessDropDownArrow arrow = new WindowlessDropDownArrow(); arrow.Layout = new DockLayout(new LayoutMeasurement(0, LayoutUnit.Star), DockStyle.Right); dockPanel.Controls.Add(arrow); base.OnSetupDockPanel(dockPanel); }