CommonBeepControlActionList
The universal smart-tag applied to every Beep control — provides style, theme, and schema configuration for all controls at design time
Table of Contents
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
| Property | Type | Description | Example Values |
|---|---|---|---|
| ControlStyle | BeepControlStyle | Visual style preset for the control | Material3, Fluent, Cyberpunk, Card, Glass, Minimal |
| Theme | string | Theme name to apply | DarkTheme, LightTheme, UbuntuTheme, GNOMETheme |
| Schema | string | Color schema selection | Default, 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