Table of Contents

Namespace Icy.Markup

Classes

ContentPropertyAttribute

Designates the property that a type's markup child elements and bare text are written into, letting markup omit the property name entirely.

DefaultMarkupActivator

The default IMarkupActivator: constructs types through their parameterless constructor.

MarkupConfiguration

The markup facet of ReflectionConfiguration: what the loader may construct, under what names, and how bare text becomes objects.

MarkupDirectives

The names of the x: directives - attributes that instruct the loader rather than set a property.

MarkupException

The exception raised for every markup error - a malformed document, an unresolvable type or property, a bad value, or a structural rule the document broke.

MarkupExtensionContext

What a IMarkupExtension is given to resolve its value: the object and property it is being resolved for, and what the loader knows about the surrounding document.

MarkupExtensionDefaultPropertyAttribute

Designates the property a markup extension's single positional argument sets, letting {Binding Path=Name} be written as the shorter {Binding Name}.

MarkupImporter

Loads markup documents through the asset pipeline, so a UI file is requested by name like any other asset.

MarkupLoadScope

An opaque handle to one observed load: one document, merged dictionary or template instantiation.

MarkupLoader

Builds a UIElement tree from a markup document.

MarkupMember

A property the loader can read or write, resolved either through the property registry or through plain reflection.

MarkupNameScope

The set of x:Named elements produced by one markup document, keyed by name.

MarkupNamespaces

The XML namespaces the markup language defines.

MarkupSetterCollectionAttribute

Designates the property that holds a type's markup attributes that don't resolve to a real CLR member - each becomes an entry in the named Dictionary<TKey, TValue> instead of raising an "unknown property" error.

MarkupTypeResolver

Resolves markup names - element tags, attached-property owners, and type-valued directives - to CLR types.

MarkupValue

Sentinel values a markup extension can return from ProvideValue(MarkupExtensionContext).

ResourceDictionaryImporter

Loads a standalone ResourceDictionary document through the asset pipeline, so a shared or themed dictionary file can be requested by path like any other asset - what <ResourceDictionary Source="Themes/Default.xml"/> does when it appears under MergedDictionaries.

UIElementTextAdapter

The built-in adapter for UIElement-typed content properties: wraps the text in a TextBlock.

Interfaces

IImplicitResourceKey

Lets an object populated into a keyless dictionary entry (no x:Key) supply its own resource key, instead of the loader requiring one.

IMarkupActivator

Constructs the objects a markup document declares.

IMarkupBuilder

Builds objects from markup fragments, or applies single attributes, exactly as MarkupLoader would while loading a whole document.

IMarkupExtension

Computes a value for a markup attribute or element written as {Name ...}, instead of the loader converting the text directly.

IMarkupLoadObserver

Receives notifications about what MarkupLoader builds, and from which markup node.

IMarkupTextAdapter

Turns the bare text inside an element into a value its content property can actually hold.

Enums

MarkupLoadScopeKind

Identifies what kind of load a MarkupLoadScope covers. Combine values to choose what an IMarkupLoadObserver wants to hear about through ObservedKinds.