Overview

Namespace: TheTechIdea.Beep.Winform.Controls.Design.Server.ActionLists
Inheritance: DesignerActionList

CommonBeepControlActionList is the universal smart-tag applied to every single Beep control. Both BaseBeepControlDesigner and BaseBeepParentControlDesigner automatically add this action list to the smart-tag panel via their ActionLists property.

It provides the three foundational design-time properties shared by all Beep controls: Style (visual preset), Theme (theme name), and Schema (color scheme).

Key Features

  • Automatically included in every Beep control's smart-tag panel
  • Three properties: ControlStyle, Theme, Schema
  • Uses IBeepDesignerActionHost for property access (works with both designer base classes)
  • Theme property uses ThemeEnumConverter for dropdown selection
  • Style property uses BeepControlStyle enum for visual preset selection

Smart-Tag Properties

PropertyTypeDescriptionExample Values
ControlStyleBeepControlStyleVisual style preset for the controlMaterial3, Fluent, Cyberpunk, Card, Glass, Minimal
ThemestringTheme name to applyDarkTheme, LightTheme, UbuntuTheme, GNOMETheme
SchemastringColor schema selectionDefault, HighContrast, Custom

How It Works

// In BaseBeepControlDesigner:
public override DesignerActionListCollection ActionLists
{
    get
    {
        var lists = new DesignerActionListCollection
        {
            new CommonBeepControlActionList(Component)  // Always included
        };
        lists.AddRange(GetControlSpecificActionLists());  // Control-specific
        return lists;
    }
}

// Smart-tag shows:
// ┌─────────────────────┐
// │ Appearance          │
// │   ControlStyle  [v] │
// │   Theme          [v]│
// │   Schema         [v]│
// ├─────────────────────┤
// │ [Control-Specific]  │  ← from GetControlSpecificActionLists()
// └─────────────────────┘

Examples

// The CommonBeepControlActionList ensures every
// control in the designer has consistent styling:

// BeepButton smart-tag:
//   [Common] ControlStyle, Theme, Schema
//   [Button] Text, IconPath, ButtonKind, etc.

// BeepGridPro smart-tag:
//   [Common] ControlStyle, Theme, Schema
//   [Grid]   DataSource, RowHeight, GridStyle, etc.

// BeepChart smart-tag:
//   [Common] ControlStyle, Theme, Schema
//   [Chart]  Title, ShowLegend, ShowGrid