Data Controls
Grid, tree, property grid and record navigators — the controls that bind arbitrary business records rather than a list of values. Each derives its matching native WPF primitive and layers on Beep chrome, theming and skinning.
SimpleItem.
Unlike the list/menu family (which uses ListItems of SimpleItem), the data
controls bind arbitrary POCOs / entities through ItemsSource (an
IEnumerable of anything). A "grid or feed of records" is not a "list of values".
BeepDataGrid is the heaviest of these — it is a full data grid with its own columns,
cells, editing, selection and paging, spread across ~30 partial files, and it has its own design
doc BEEPDATAGRID_ENHANCEMENT_PLAN.md. It is never routed through
BeepListBox and never takes a SimpleItem model.
(BeepTreeView/BeepTreeNode are the exception in this group — they do expose
a SimpleItem surface.)
On this page
BeepDataGrid
A full-featured data grid over arbitrary business records — its own columns, cells, editing, selection, filtering, grouping, clipboard, export/print and paging.
System.Windows.Controls.DataGrid ·
Partial class spread across ~30 files
(BeepDataGrid.Binding.cs, .Columns.cs, .Selection.cs,
.Grouping.cs, .Export.cs, .Print.cs, …). The table below
summarises its key own DependencyProperties rather than listing every one.
| Property | Type | Description |
|---|---|---|
| ItemsSource | IEnumerable | Row source of business records. Re-registered with new so it hides the base DataGrid.ItemsSource and adds two-way binding. |
| SelectedValue | object | Value of SelectedValuePath on the selected row; two-way by default. |
| SelectedValuePath | string | Property name whose value is projected into SelectedValue. |
| ColumnsSource | IEnumerable | Declarative column configuration; each entry auto-generates a DataGridColumn. |
| CheckBoxBindingPath | string | Boolean property the checkbox column binds to; null tracks IsSelected. |
| ShowGridTitle | bool | Whether the grid's title row is rendered. |
| EnableFiltering | bool | Whether the built-in filter row is rendered. |
| RowHeightDirect | double | Explicit row height (direct, not auto-sized). |
| ColumnHeaderHeightDirect | double | Explicit column-header height (direct). |
<beep:BeepDataGrid ItemsSource="{Binding Customers}"
ColumnsSource="{Binding ColumnDefs}"
SelectedValuePath="CustomerId"
SelectedValue="{Binding CurrentId, Mode=TwoWay}"
ShowGridTitle="True"
EnableFiltering="True"/>
BeepDataRecord
A themed container that presents a single bound record as content (a detail/record card).
System.Windows.Controls.ContentControl, implements
IBeepThemeable. It registers no own DependencyProperties — supply the record layout
through its inherited Content; chrome comes from ControlStyle /
Theme.
<beep:BeepDataRecord ControlStyle="Fluent">
<StackPanel>
<beep:BeepLabel Text="{Binding CustomerName}"/>
<beep:BeepLabel Text="{Binding Email}"/>
</StackPanel>
</beep:BeepDataRecord>
BeepPropertyGrid
A reflection-driven property editor that renders the public properties of a bound object as an editable name/value grid.
System.Windows.Controls.ContentControl. The inspected
object is supplied as its inherited Content.
| Property | Type | Description |
|---|---|---|
| BorderRadius | CornerRadius | Corner radius of the grid's outer chrome. |
<beep:BeepPropertyGrid Content="{Binding SelectedEntity}"
BorderRadius="8"/>
BeepTreeView
A hierarchical tree that renders SimpleItem nodes (and BeepTreeNodes)
with optional per-node check boxes.
System.Windows.Controls.TreeView. Items are supplied
via ListItems (an IEnumerable of SimpleItem), which
forwards to the inherited ItemsSource.
| Property | Type | Description |
|---|---|---|
| ListItems | IEnumerable | Node source (SimpleItem); forwards to ItemsSource. |
| ShowCheckBoxes | bool | Whether each node renders a check box (default false). |
<beep:BeepTreeView ListItems="{Binding Nodes}"
ShowCheckBoxes="True"/>
BeepTreeNode
A single tree node — the item container inside BeepTreeView — carrying caption,
icon and its own SimpleItem model and children.
System.Windows.Controls.TreeViewItem, implements
IBeepThemeable.
| Property | Type | Description |
|---|---|---|
| Text | string | Node caption; kept in sync with the inherited Header, which renders. |
| IconPath | string | Path or resource name of the node's icon; consumed by the template. |
| Item | SimpleItem | The node's backing SimpleItem model. |
<beep:BeepTreeNode Text="Reports" IconPath="fi-tr-folder">
<beep:BeepTreeNode Text="Monthly"/>
<beep:BeepTreeNode Text="Annual"/>
</beep:BeepTreeNode>