Namespace The.WPF.Controls
Classes
- BindingProxy
A Freezable that can be used to bridge data binding across visual tree boundaries. Place in resources and bind Data to the desired value, then reference from DataTemplates.
- ColumnPanel
Arranges its children in balanced vertical columns up to the available width, stretching vertically if necessary
- DebugChrome
displays in designers and on binding failures, but not in release mode
- FastTabControlAutomationPeer
The standard TabControlAutomationPeer only exposes tab content through PART_SelectedContentHost, which FastTabControl replaces with PART_ItemsHolder, leaving tab content invisible to UI Automation (screen readers, UI tests). This peer adds the currently visible content presenter's children back into the automation tree.
- FieldControlAutomationPeer
Exposes the field to UI Automation as a group named after its label. The label itself is a TextBlock inside the control template, which WPF excludes from the UIA control view, so without this peer assistive technology and UI tests cannot tell fields apart.
- FieldsPanel
Lays out the fields of a section exactly as a non-resizable section would: every field is measured with unbounded height and stacked at its natural size, and any extra height the user drags out of a resizable section is arranged into the filling last child. Views that scroll internally (embedded list/grid screens, checklists) cap their natural height at their MinHeight - see SelfScrollingViews - so the natural height of a section is finite, and ComputedMinHeight can stop the user shrinking fields out of view. The filling last child is then re-measured with the height it will actually be arranged with, so a virtualizing child realises the rows it will display rather than only those that fit the unbounded MinHeight it reported for the natural-height sum. The panel's desired height tracks that re-measure: it equals the natural height when the trailing field cannot grow, and rises towards the offered height when it can - so a host that sizes to this (a maximized section) fills the screen only when something is there to fill it.
- FlowDocumentRenderer
Renders a Markdig Markdig.Syntax.MarkdownDocument AST into a WPF FlowDocument.
- LinkBox
Displays links to non-reference data; themeable
- MultiCommandButtonAutomationPeer
The ItemsControl automation peer only exposes item wrappers, hiding template children — most importantly PART_DropDownButton, leaving the control un-openable via UI Automation (screen readers, UI tests). Walking the visual tree instead exposes the dropdown button and, while open, the popup items.
- MultiZomboBox
Multi-selection variant of ZomboBox with chip display for selected items.
- SelfScrollingViews
Helper for views that scroll their own content, such as embedded list/grid screens and checklists. Sections lay their fields out at natural measured height (see FieldsPanel); a view that can scroll should declare the height it needs as its MinHeight and cap its natural desire to that, taking more only when the user arranges more into it - otherwise the section would grow to fit every row. Call CapUnboundedHeight(FrameworkElement, Size) at the top of MeasureOverride to apply the cap.
- TransparentItemsControl
An ItemsControl whose items are exposed to UI Automation unwrapped. The default ItemsControlAutomationPeer wraps each item in an opaque data-item peer (named after the item's ToString(), with no children), which hides the item template's own controls from assistive technology and UI tests. Returning a plain FrameworkElementAutomationPeer lets the peer walk descend into the item containers so their controls appear directly.
- ZomboBase
Base class for ZomboBox-style controls with text input, filtering, and dropdown suggestions.
- ZomboBox
Accepts text, optionally mapped to items with a filterable source.
- ZomboBoxItemAutomationPeer
Dropdown item UIA peer, similar to a ListBox item
- ZomboBoxItemHost
Exposes dropdown items unwrapped (ItemsControl defaults to opaque data-item peers.)
Interfaces
- ICanDoAnything
Interface for items that can be displayed in a ZomboBox with filter highlighting.