NE.Standard

Button group

A strip of segments pressed flush against each other, one of them current.

ButtonGroupComponent · type key standard.button-group · Navigation · property blocks: ISurfaceComponent, IBorderedComponent, ISelectionStyleComponent

The segments are IButtonModels (icon, title, tooltip, enabled) drawn by the button template as ghost buttons; the strip is the field's ground with a rule between the segments, and the current one is filled primary unless SelectionStyle says otherwise. Always horizontal.

new ButtonGroupComponent("button-group")

Properties

PropertyTypeDefaultBindingDescription
Own
SelectedKey
SetSelectedKey · BindSelectedKey
stringnulltwo-wayThe key of the current segment; two-way, so a press writes the new key back.
Size
SetSize · BindSize
UIButtonSize?UIButtonSize.Mediumone-wayHow much room the strip takes; every segment follows it.
Background
SetBackground · BindBackground
UIThemeColor?nullone-wayThe surface's background colour; unset leaves whatever the theme paints underneath.
Padding
SetPadding · BindPadding
UIResponsive<UIThickness>?nullone-wayThe inner spacing between this component's edges and its content, optionally overridden per breakpoint.
BackgroundImage
SetBackgroundImage · BindBackgroundImage
stringnullone-wayThe picture painted over the background colour, centred and never repeated: a URL or a data URI.
BackgroundImageFit
SetBackgroundImageFit · BindBackgroundImageFit
UIImageFit?UIImageFit.Coverone-wayHow the picture fills the surface.
BorderColor
SetBorderColor · BindBorderColor
UIThemeColor?nullone-wayThe border's colour, written as CSS border-color; unset leaves the stylesheet's own.
BorderThickness
SetBorderThickness · BindBorderThickness
UIThickness?nullone-wayThe border's thickness, written as CSS border-width; unset leaves the stylesheet's own.
BorderRadius
SetBorderRadius · BindBorderRadius
UICornerRadius?nullone-wayThe corner rounding, written as CSS border-radius; unset leaves the stylesheet's own.
SelectionStyle
SetSelectionStyle · BindSelectionStyle
UISelectionStyle?nullone-wayWhat a chosen item looks like. Unset, and every unset part of it, is the control's own default.
From ItemsComponentBase
Items
SetItems · BindItems
IReadOnlyList<IButtonModel>nullone-wayThe component items.
ItemsView
BindItemsView
UIItemsViewnullone-wayFiltering and sorting rules applied to the items collection.
Query
SetQuery · BindQuery
UIItemsQuerynulltwo-wayThe terms the viewer set after the view compiled — a header's sort, a filter row — applied beside the authored rules; bound both ways, so a windowed source is asked with them and a controller can set them.
From TemplatedComponentBase
TemplateKeyProperty
SetTemplateKeyProperty · BindTemplateKeyProperty
stringnullone-way, relative scopeThe name of the item field whose value selects a named template variant.
FallbackTemplateKey
SetFallbackTemplateKey
stringnullThe fallback template key used when ITemplatedComponent.TemplateKeyProperty does not resolve to a template.

Events

OnItemClick(string command)
Registers a command run when a segment is pressed, beside the key being written back.
OnItemClick(string command, params KeyValuePair<string, UIActionArgument>[] arguments)
Registers a command run when a segment is pressed, with UI action arguments.
OnItemClickLiteral(string command, params KeyValuePair<string, object>[] arguments)
Registers a click command invoked when an item is clicked, with literal argument values.
OnItemClickWithItem(string command, string argumentName = "item")
Registers a click command that passes the clicked item as an argument.
OnItemClickWithItemKey(string command, string argumentName = "id")
Registers a command run when a segment is pressed, passing the segment's key as an argument.

Methods

SetTemplate(IButtonComponent visualTemplate)
Sets the item template.
AddTemplateVariant(string key, IButtonComponent visualTemplate)
Adds or replaces a named template variant.
AddItem(IButtonModel item)
Adds an item to the component.
AddItems(IEnumerable<IButtonModel> items)
Adds items to the component.
FilterBy(UIProperty source, string itemProperty, UIComparisonOperator operator = UIComparisonOperator.LikeIgnoreCase, UIComparisonOperator activeOperator = UIComparisonOperator.Required, object activeValue = null)
Adds a filter controlled by a local component property.
Defaults to a case-insensitive substring match; pass the operator explicitly where case matters.
FilterBy(string sourceComponentId, UIProperty source, string itemProperty, UIComparisonOperator operator = UIComparisonOperator.LikeIgnoreCase, UIComparisonOperator activeOperator = UIComparisonOperator.Required, object activeValue = null)
Adds a filter controlled by another component property.
FilterBy(UIPropertyReference source, string itemProperty, UIComparisonOperator operator = UIComparisonOperator.LikeIgnoreCase, UIComparisonOperator activeOperator = UIComparisonOperator.Required, object activeValue = null)
Adds a filter controlled by a property reference.
FilterBy(string itemProperty, UIComparisonOperator operator = UIComparisonOperator.LikeIgnoreCase, object value = null)
Adds an unconditionally active filter with no source, comparing against a constant value.
SortBy(UIProperty source, string itemProperty, UIItemsSortDirection direction = UIItemsSortDirection.Ascending, UIComparisonOperator activeOperator = UIComparisonOperator.Equal, object activeValue = null, int priority = 0)
Adds a sort rule controlled by a local component property.
SortBy(string sourceComponentId, UIProperty source, string itemProperty, UIItemsSortDirection direction = UIItemsSortDirection.Ascending, UIComparisonOperator activeOperator = UIComparisonOperator.Equal, object activeValue = null, int priority = 0)
Adds a sort rule controlled by another component property.
SortBy(UIPropertyReference source, string itemProperty, UIItemsSortDirection direction = UIItemsSortDirection.Ascending, UIComparisonOperator activeOperator = UIComparisonOperator.Equal, object activeValue = null, int priority = 0)
Adds a sort rule controlled by a property reference.
SortBy(string itemProperty, UIItemsSortDirection direction = UIItemsSortDirection.Ascending, int priority = 0)
Adds an unconditionally active sort rule with no source.
SetEmptyTemplate(IVisualComponent visualTemplate)
Sets the template used when there are no items or no content.
Common properties (16) — layout, visibility, theme, and the rest every component shares
PropertyTypeDefaultBindingDescription
Visibility
SetVisibility · BindVisibility
UIResponsive<UIVisibility>?Visibleone-wayWhat the component does with the room it was given, optionally overridden per breakpoint (e.g. collapsed from a given width up).
Enabled
SetEnabled · BindEnabled
bool?trueone-wayWhether the component responds to input; false dims it and marks it, and its subtree, inert.
Theme
SetTheme · BindTheme
UIThemeMode?nullone-wayThe theme mode forced on this component's subtree, or null to inherit the ambient theme.
HorizontalAlignment
SetHorizontalAlignment · BindHorizontalAlignment
UIAlignment?UIAlignment.Stretchone-wayWhere the component sits within its grid cell along the horizontal axis.
VerticalAlignment
SetVerticalAlignment · BindVerticalAlignment
UIAlignment?UIAlignment.Stretchone-wayWhere the component sits within its grid cell along the vertical axis.
Width
SetWidth · BindWidth
UIResponsive<UILayoutLength>?nullone-wayThe component width, optionally overridden per breakpoint.
MinWidth
SetMinWidth · BindMinWidth
UIResponsive<UILayoutLength>?nullone-wayThe component minimum width, optionally overridden per breakpoint.
MaxWidth
SetMaxWidth · BindMaxWidth
UIResponsive<UILayoutLength>?nullone-wayThe component maximum width, optionally overridden per breakpoint.
Height
SetHeight · BindHeight
UIResponsive<UILayoutLength>?nullone-wayThe component height, optionally overridden per breakpoint.
MinHeight
SetMinHeight · BindMinHeight
UIResponsive<UILayoutLength>?nullone-wayThe component minimum height, optionally overridden per breakpoint.
MaxHeight
SetMaxHeight · BindMaxHeight
UIResponsive<UILayoutLength>?nullone-wayThe component maximum height, optionally overridden per breakpoint.
ZIndex
SetZIndex · BindZIndex
int?0one-wayThe stacking order within the visual tree.
Margin
SetMargin · BindMargin
UIResponsive<UIThickness>?nullone-wayThe outer spacing around the component, optionally overridden per breakpoint.
Placement
SetPlacement · BindPlacement
UIResponsive<UIGridPlacement>?nullone-wayThe grid placement, optionally overridden per breakpoint.
Loading
SetLoading · BindLoading
bool?falseone-wayWhether the component is in loading state — a live state a controller turns on and off.
ShowContextMenu
SetShowContextMenu · BindShowContextMenu
bool?trueone-wayWhether a right-click opens the IVisualComponent.ContextMenu; on a host with rows, whether it opens any row's. Off, the menu stays in the tree and nothing opens it.