Interface ICompositeViewDefinition
Defines a composite view: a container that arranges an ordered set of child views (Children) according to a flexbox-style Layout. Because a child can itself be a composite (via ViewDefinition), whole screens — such as a settings screen with a nav rail beside a scrollable content column — are expressed as a tree of these definitions. There are no built-in regions: any bar or panel (e.g. a footer of actions) is just another nested composite.
Namespace: Serenity.Ui.Domain.Interfaces
Assembly: Serenity.Ui.Domain.dll
Syntax
public interface ICompositeViewDefinition : IViewDefinition, IFoundationSettings, IScrollableViewDefinition
Remarks
The container's ContentMode decides whether all children show together (STACK) or only one shows at a time (SWITCHER). A switcher is how a "predominant" navigation view drives a "non-predominant" content area: selecting a nav entry activates the matching child here, while the nav itself lives in a sibling stack region and stays visible.
Properties
Children
The ordered children placed inside this view's layout container.
Declaration
IReadOnlyList<ICompositeViewChild> Children { get; }
Property Value
| Type | Description |
|---|---|
| IReadOnlyList<ICompositeViewChild> |
ContentMode
Whether children stack together or only the active one is shown.
Declaration
ContainerContentMode ContentMode { get; }
Property Value
| Type | Description |
|---|---|
| ContainerContentMode |
CrossMenuNavigation
For a STACK of menus, whether up/down navigation moves focus between the stacked menus at their first/last option (instead of wrapping within a single menu).
Declaration
bool CrossMenuNavigation { get; }
Property Value
| Type | Description |
|---|---|
| bool |
CrossMenuWrapAround
When CrossMenuNavigation is on, whether moving past the very first menu's first option (or the last menu's last option) wraps around the whole stack, versus stopping at the ends.
Declaration
bool CrossMenuWrapAround { get; }
Property Value
| Type | Description |
|---|---|
| bool |
FocusInitialView
Whether input control starts on the default content child (so the player drives the content immediately) versus staying on the sibling navigation rail. Only meaningful when IsAlwaysShowingContent is true.
Declaration
bool FocusInitialView { get; }
Property Value
| Type | Description |
|---|---|
| bool |
InitialActiveChildId
For a SWITCHER container, the id of the child shown first. When empty, the first child is used. Ignored for STACK.
Declaration
string InitialActiveChildId { get; }
Property Value
| Type | Description |
|---|---|
| string |
IsAlwaysShowingContent
For a SWITCHER container, whether to show the default child (InitialActiveChildId) on first show, versus starting blank (no child shown until a navigation rail activates one).
Declaration
bool IsAlwaysShowingContent { get; }
Property Value
| Type | Description |
|---|---|
| bool |
Layout
The layout that arranges this view's children.
Declaration
LayoutConfig Layout { get; }
Property Value
| Type | Description |
|---|---|
| LayoutConfig |