Namespace Icy.UI.Controls
Classes
- Button
A ContentControl that fires Click/executes Command when tapped (see ITouchEvents) and is a tab-stop by default.
- CheckBox
A ToggleButton styled as a checkbox. Behaviorally identical to ToggleButton - a distinct type so styles/themes can target checkbox appearance separately from a generic toggle button.
- ColorPicker
A full color picker - swatches, an HSV square + hue strip, and RGBA sliders + a hex field, switchable via an internal TabControl.
- ColorPickerButton
A swatch-preview button that opens a full ColorPicker in a popup.
- ColumnDefinition
Defines the sizing behavior of a single Grid column.
- ComboBox
A Selector with an editable text field that live-filters items by a case-insensitive
Containsmatch against DisplayMemberPath - selection-only, not free text entry (see the class remarks on ItemsSource).
- ContentControl
A Control that hosts a single arbitrary UIElement as its content, decorated by the inherited Background/BorderBrush/BorderThickness.
- ContentPresenter
Marks the spot inside a ControlTemplate's content where a ContentControl's real Content should be hosted.
- Control
Base class for controls that need background/border decoration without reimplementing it - composes an internal element (Chrome, a Border by default) that fills this control's entire ActualBounds and forwards Background/BorderBrush/ BorderThickness/Padding to it.
- Dialog
A modal overlay - a full-viewport dimming backdrop (Chrome, themed) behind a centered content box, blocking pointer input to everything behind it (see the type's own remarks) and trapping keyboard/gamepad focus while IsOpen. Carries no result of its own - see Dialog<TResult> for the Task-returning API most callers actually want; this class is its non-generic (themeable) building block.
- Dialog<TResult>
A Dialog paired with a Task<TResult>-returning show/close API - the general-purpose modal-hosting primitive most callers use directly (or through MessageBox's convenience methods). Not a UIElement itself; wraps a plain Dialog instance, which is what's actually added to a Canvas and themed - a closed generic type's runtime name embeds its type argument, so an open-generic
Style TargetType="Dialog"entry would never match aDialog<TResult>if it were a UIElement itself.
- Dropdown
A Selector with a fixed-text closed-state display (SelectedItem's display text) and letter-key typeahead - no free text entry.
- Expander
A collapsible region: a clickable Header row that shows/hides arbitrary Content below it, with an animated expand/collapse transition driven entirely by the existing themed VisualState system (see ExpansionProgress).
- ExpanderHeader
A ToggleButton styled as an Expander's clickable header row. Behaviorally identical to ToggleButton - a distinct type so styles/themes can target the header's chevron-plus-content appearance separately from a generic toggle button, the same reasoning CheckBox already documents for itself.
- Frame
A ContentControl that hosts the Page its own Navigation service currently points to.
- Grid
Arranges its Children into a grid of rows and columns defined by RowDefinitions/ColumnDefinitions, placed via the
Row/Columnattached properties (GetRow(UIElement)/SetRow(UIElement, int), GetColumn(UIElement)/SetColumn(UIElement, int)).
- Icon
Draws one small, stroke-only vector glyph (see Kind) scaled to fill this element's own bounds - a minimal alternative to a full path/shape markup language, covering exactly the iconography simple themed controls need (a checkbox's check, a dropdown's chevron) without a bitmap asset.
- Image
Displays a single IImage (e.g. an ImageBrush or NinePatchImageBrush), sized to Size unless overridden by an explicit Width/Height.
- ItemContainer
The minimal container ItemsControl wraps each realized data item's built visual tree in.
- ItemsControl
Generates one ItemContainer per item in ItemsSource, via ItemTemplate/ItemTemplateSelector, and virtualizes them - only the containers intersecting the current viewport (plus a small scroll-ahead buffer) are ever realized.
- ListBox
A plain, always-visible, virtualizing, single-selectable list - the most direct realization of "an ItemsControl with click-to-select.".
- MessageBox
Static convenience helpers that build a small content tree and show it via Dialog<TResult> - a message with a button row (ShowAsync(Canvas, string, DialogButtons)), or a single-line text prompt (ShowInputAsync(Canvas, string, string?)). A separate, non-generic class rather than static members on Dialog<TResult> itself, to avoid declaring statics on a generic type (CA1000) while keeping Dialog<TResult>'s own API fully type-safe.
- Page
A ContentControl that a Frame can navigate to.
- ProgressBar
Displays Value as a proportion of Minimum/Maximum, drawn as a track (this control's inherited Background/BorderBrush) with a FillBrush-colored fill growing from the left.
- PropertyGrid
A Unity-Inspector-style control: lists Target's properties as rows (a label and a type-appropriate editor), letting a user edit them.
- RowDefinition
Defines the sizing behavior of a single Grid row.
- ScrollViewer
Clips Content to this control's bounds and lets it be scrolled within that viewport via HorizontalOffset/VerticalOffset - settable directly, or driven by the mouse wheel/touch-swipe (see IScrollEvents).
- SelectingItemsControl
Adds single-item selection on top of ItemsControl - the shared base for Selector (adds a popup on top of this) and WrapGrid/ListBox (always-visible, no popup).
- Selector
Adds single selection and a popup-hosted item list on top of SelectingItemsControl - the shared base for Dropdown and ComboBox.
- SelectorItem
The container a Selector realizes each item as - an ItemContainer with selection/highlight state layered on top.
- Slider
A horizontal slider - drag the thumb (or tap the track) to set Value between Minimum and Maximum.
- StackPanel
Arranges its Children in a single line, sequentially along Orientation.
- TabControl
A row of clickable tab headers, each showing/hiding its own Content - realizes each TabItem's header as a SelectorItem via the inherited SelectingItemsControl machinery, but never scrolls: unlike ListBox/ WrapGrid, this control doesn't participate in IVirtualizingScrollInfo's viewport-driven realize pipeline at all - it eagerly realizes every header itself, since a handful of tab headers never need virtualizing.
- TabItem
One tab within a TabControl - Content is the tab's own body, shown only while this item is the TabControl's SelectedItem; Header/Icon describe how this tab's clickable header row looks.
- TextBlock
Displays a single run of text using a font resolved from Configuration's Fonts service.
- TextBox
A single-line editable text field. Builds on the existing ITextEvents character synthesizer for typed input and raw IKeyboardInput (only while focused) for caret movement/deletion, and draws its own caret.
- ToggleButton
A Button that toggles IsChecked each time it's tapped/activated, and reflects it via Checked for styling.
- TreeView
Shows hierarchical data as an indented, expandable list. Only visible rows are realized, however large the tree.
- TreeViewExpander
The chevron of a TreeViewItem: an Icon that reports its own taps, so a tap on it opens or closes the row without selecting it.
- TreeViewItem
A row of a TreeView: a SelectorItem that knows its depth, whether it has children and is expanded, and whether it can be selected.
- TreeViewItemEventArgs
Carries the data item of a ItemExpanded or ItemCollapsed event.
- TreeViewNode
A ready-made data item for a TreeView: a header, child nodes, and per-node expansion and selectability. Lets a static tree be written directly in markup.
- Window
A modal dialog - a IsFocusScope that traps Tab/gamepad focus traversal within itself while IsOpen, and restores whatever was focused before it opened when it closes.
- WrapGrid
An auto-flowing, virtualizing grid of uniformly-sized cells - realized items fill left-to-right and wrap to the next row, e.g. an icon/inventory grid.
Structs
- GridLength
Specifies the size of a Grid row or column.
Enums
- DialogButtons
The set of buttons a ShowAsync(Canvas, string, DialogButtons) message box shows.
- DialogResult
The result a MessageBox (or any Dialog<TResult> that chooses to reuse it) closes with.
- GridUnitType
Specifies how a GridLength's Value should be interpreted.
- PanningMode
Specifies along which axes a ScrollViewer pans with touch and the middle mouse button.
- ScrollMode
Specifies whether a ScrollViewer scrolls along one axis.