Layout & Containers
Panels, cards, group boxes, docks, splitters, separators, scrollbars, status bars, and window/dialog shells — the structural chrome of a Beep.WPF window.
TheTechIdea.Beep.WPF.Controls ·
XAML namespace:
xmlns:beep="clr-namespace:TheTechIdea.Beep.WPF.Controls;assembly=TheTechIdea.Beep.WPF.Controls"
On this page
BeepPanel
Themed content panel / surface container for grouping arbitrary child content on a skinned surface.
System.Windows.Controls.ContentControl — skin/theme are supplied by the BeepChrome attached properties (ControlStyle, Theme), not by own DPs.No public dependency properties of its own; inherits from its base type.
<beep:BeepPanel ControlStyle="Material3" Padding="16">
<TextBlock Text="Panel body content" />
</beep:BeepPanel>
BeepCard
Elevated card surface with an optional header row and a dedicated content slot.
System.Windows.Controls.ContentControl — its XAML content property is CardContent (via [ContentProperty]), not the inherited Content.| Property | Type | Description |
|---|---|---|
CardStyle | CardStyle | Visual variant of the card (Default, Elevated, Outlined, Filled, Interactive, ProfileCard, BlogCard, ProductCard, MetricCard) — drives border, shadow and fill. |
CardPadding | Thickness | Inner padding of the card body, independent of the control's Margin. |
ShowHeader | bool | Whether the header row is rendered. |
HeaderText | string | Optional header text shown in the header row. |
CardContent | FrameworkElement | Primary content of the card; marked as the XAML content property. |
<beep:BeepCard CardStyle="Elevated" HeaderText="Summary" ShowHeader="True">
<StackPanel>
<TextBlock Text="Card body goes here." />
</StackPanel>
</beep:BeepCard>
BeepGroupBox
Titled group frame that draws a themed border and header around its content.
System.Windows.Controls.GroupBox — Header, HeaderTemplate and Content are inherited from the base GroupBox.| Property | Type | Description |
|---|---|---|
ContentPadding | Thickness | Padding applied to the group box body, independent of the header. |
<beep:BeepGroupBox Header="Connection" ContentPadding="12">
<StackPanel>
<TextBlock Text="Grouped fields." />
</StackPanel>
</beep:BeepGroupBox>
BeepDock
Docking container that hosts a docked/anchored layout of child content on a skinned surface.
System.Windows.Controls.ContentControl — skin/theme come from the BeepChrome attached properties.No public dependency properties of its own; inherits from its base type.
<beep:BeepDock ControlStyle="Material3">
<Grid>
<!-- docked child content -->
</Grid>
</beep:BeepDock>
BeepDisplayContainer
Switchable display/content host that presents one active view at a time on a themed surface.
System.Windows.Controls.ContentControl — skin/theme come from the BeepChrome attached properties.No public dependency properties of its own; inherits from its base type.
<beep:BeepDisplayContainer ControlStyle="Material3">
<ContentControl Content="{Binding ActiveView}" />
</beep:BeepDisplayContainer>
BeepMultiSplitter
Multi-pane splitter container that arranges several resizable panes with draggable separators.
System.Windows.Controls.ContentControl — it re-declares Content via AddOwner but registers no new dependency property of its own.No public dependency properties of its own; inherits from its base type.
<beep:BeepMultiSplitter ControlStyle="Material3">
<Grid>
<!-- multiple resizable panes -->
</Grid>
</beep:BeepMultiSplitter>
BeepSplitContainer
Two-pane split container with a draggable divider between the two content regions.
System.Windows.Controls.ContentControl — skin/theme come from the BeepChrome attached properties.No public dependency properties of its own; inherits from its base type.
<beep:BeepSplitContainer ControlStyle="Material3">
<Grid>
<!-- two split panes -->
</Grid>
</beep:BeepSplitContainer>
BeepSeparator
Themed horizontal or vertical divider line that draws in the active skin's Border brush.
System.Windows.Controls.ContentControl — replaces the raw WPF Separator, whose default style ignores the Beep theme system.| Property | Type | Description |
|---|---|---|
Orientation | Orientation | Direction of the separator line (Horizontal or Vertical). |
Thickness | double | Line thickness in device-independent pixels. |
<beep:BeepSeparator Orientation="Horizontal" Thickness="1" />
BeepScrollBar
Themed scrollbar that matches the active skin instead of the OS default chrome.
System.Windows.Controls.Primitives.ScrollBar — also re-declares Content via AddOwner, which is not counted below.| Property | Type | Description |
|---|---|---|
BorderRadius | CornerRadius | Corner radius applied to the scrollbar track/thumb chrome. |
<beep:BeepScrollBar Orientation="Vertical" BorderRadius="4" />
BeepStatusBar
Window status bar that lays its status items out horizontally on a themed surface.
System.Windows.Controls.Primitives.StatusBar — restores a horizontal items panel and re-declares Content via AddOwner, but registers no new DP of its own.No public dependency properties of its own; inherits from its base type.
<beep:BeepStatusBar ControlStyle="Material3">
<StatusBarItem Content="Ready" />
<Separator />
<StatusBarItem Content="Row 1 of 42" />
</beep:BeepStatusBar>
BeepForm
Custom-chrome application window where the skin owns the whole frame — caption bar, title, caption buttons, border and corner radius.
System.Windows.Window — the WPF mirror of the WinForms BeepiFormPro, built on WindowChrome plus a per-skin ControlTemplate.| Property | Type | Description |
|---|---|---|
CaptionHeight | double | Height of the custom caption bar (mirrors FormPainterMetrics.CaptionHeight). |
ShowCaption | bool | Show the caption bar at all; false gives a bare frame for popup/tool windows. |
ShowMinimizeButton | bool | Show the minimize button (mirrors WinForms MinimizeBox). |
ShowMaximizeButton | bool | Show the maximize/restore button (mirrors WinForms MaximizeBox). |
ShowCloseButton | bool | Show the close button. |
CaptionLeftContent | object | Caption content immediately after the title (WinForms LeftZoneRect). |
CaptionContent | object | Caption content in the stretching middle zone (WinForms CenterZoneRect). |
CaptionRightContent | object | Caption content just before the system buttons (WinForms RightZoneRect). |
MaximizedPadding | Thickness | Inset applied to the root when maximized so the window does not overhang the work area. |
UseLayeredChrome | bool | Switches the window to WindowStyle None + AllowsTransparency for non-rectangular frames, shadows or translucency. |
ResizeBorderWidth | double | Width of the invisible resize grip around the frame; feeds WindowChrome.ResizeBorderThickness. |
CaptionButtonForeground | Brush | Glyph colour for the caption buttons. |
CaptionButtonHoverBackground | Brush | Hover fill behind a caption button. |
CloseButtonHoverBackground | Brush | Hover fill behind the close button specifically. |
OuterMargin | Thickness | Gap between the window edge and the frame border. |
InnerMargin | Thickness | Gap between the frame border and the content. |
CornerCut | double | Size of the diagonal corner chamfer in DIPs (meaningful only with UseLayeredChrome). |
<beep:BeepForm x:Class="MyApp.MainWindow"
xmlns:beep="clr-namespace:TheTechIdea.Beep.WPF.Controls;assembly=TheTechIdea.Beep.WPF.Controls"
ControlStyle="Material3"
CaptionHeight="36"
ShowMinimizeButton="True"
ShowMaximizeButton="True">
<Grid>
<!-- window content -->
</Grid>
</beep:BeepForm>
BeepDialog
Themed modal dialog window that stamps the active skin on itself at creation so its separate visual tree is styled correctly.
System.Windows.Window — implements IBeepThemeable; skin/theme come from the BeepChrome attached properties.No public dependency properties of its own; inherits from its base type.
<beep:BeepDialog x:Class="MyApp.ConfirmDialog"
xmlns:beep="clr-namespace:TheTechIdea.Beep.WPF.Controls;assembly=TheTechIdea.Beep.WPF.Controls"
Title="Confirm"
WindowStartupLocation="CenterOwner">
<StackPanel>
<TextBlock Text="Are you sure?" />
</StackPanel>
</beep:BeepDialog>
BeepDialogPopForm
In-window popup/dialog form host that overlays a themed modal form without opening a separate OS window.
System.Windows.Controls.ContentControl — skin/theme come from the BeepChrome attached properties.No public dependency properties of its own; inherits from its base type.
<beep:BeepDialogPopForm ControlStyle="Material3">
<StackPanel>
<!-- popup form content -->
</StackPanel>
</beep:BeepDialogPopForm>