Skip to content
Cole Campbell edited this page Dec 22, 2016 · 1 revision

Overview

The Ultraviolet Presentation Foundation defines many common user interface elements. The built-in element types are summarized below.

Most of these elements are defined in the TwistedLogik.Ultraviolet.UI.Presentation.Controls namespace; those which are indicated to be "primitives" are instead found in TwistedLogik.Ultraviolet.UI.Presentation.Controls.Primitives.

Controls

Button

A standard clickable button; the Click routed event is raised when the button is clicked.

CheckBox

A special kind of ToggleButton which displays a check mark when the button is toggled.

ComboBox

A drop-down list of selectable items. Note that, at present, the name is a bit of a misnomer, as UPF combo boxes do not currently support entering an arbitrary value. This is planned to be fixed in a future release.

ComboBoxItem

A wrapper for items which are displayed inside of a ComboBox. If not explicitly created in UVML, each item inside of a ComboBox will automatically be wrapped inside one of these.

HSlider and VSlider

Respectively, horizontal and vertical sliders, consisting of a movable button inside of a track.

Image

An element which displays an image. The image is specified by the element's Source dependency property, which has a styling name of source-image.

ListBox

An element which displays a list of selectable items. By default, only one item can be selected at a time; this can be changed by setting the list box's SelectionMode dependency property to SelectionMode.Multiple.

ListBoxItem

A wrapper for items which are displayed inside of a ListBox. If not explicitly created in UVML, each item inside of a ListBox will automatically be wrapped inside one of these.

NumericTextBlock

A variant of the TextBlock control which is optimized to display numeric values rather than text; using a NumericTextBlock will produce less garbage on the managed heap.

NumericUpDown

A numeric up/down control consists of a text box that displays a numeric value and two buttons which increment and decrement that value.

ProgressBar

A bar which progressively fills as some process approaches completion.

RadioButton

Works similarly to a CheckBox, but radio buttons which have the same logical parent form a group. Only one radio button in a group can be toggled at any given time.

Rectangle

A colored rectangle.

RepeatButton

A special kind of button which repeatedly raises its Click event as long as the user continues to hold it down.

ScrollViewer

A panel which can scroll its content, if that content exceeds the size of the panel.

TabControl

A panel with multiple tabs, each of which has its own content that is only displayed when its tab is selected.

TabItem

A page of content within a TabControl.

TextBlock

A text label. When displaying numeric values, use NumericTextBlock instead.

TextBox

A text input box with support for text selection, copy/paste, etc.

PasswordBox

An input box for securely entering passwords.

Primitives

ButtonBase

The abstract base class for all button elements.

HScrollBar and VScrollBar

Horizontal and vertical scroll bars, respectively.

Popup

A popup window which is rendered on top of all other elements in the view.

RangeBase

The abstract base class for all elements which define a range of values, such as scroll bars and progress bars.

ScrollBarBase

The abstract base class for the HScrollBar and VScrollBar elements.

Selector

The abstract base class for elements which allow the user to select a value, such as ListBox.

SliderBase

The abstract base class for the HSlider and VSlider elements.

TextBlockBase

The abstract base class for the TextBlock and NumericTextBlock elements.

ToggleButton

A special kind of button which toggles between checked and unchecked states when it is clicked by the user.

Track

A track containing a movable button, like those used by sliders and scroll bars.

Clone this wiki locally