public abstract class ComponentA reusable piece of interface: some state, and a Build that turns it into elements.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
What a .vxml compiles into. Vixen.Ui.Markup emits a partial class deriving from this whose Build is one statement per element and one effect per dynamic expression — so writing a component by hand and generating one produce the same thing, and the generated half is steppable rather than magic (ADR-002).
Build runs once. That is the whole of ADR-010: there is no render function to call again, no virtual DOM to diff, and no reason to walk a tree that did not change. What changes later changes because an effect ran, and an effect assigns exactly the property it was written for.
Fields and properties (5)
public UiElement RootThe element this component drew itself into.
public UiElement ContentWhere a caller's children are projected.
protected internal virtual string TagNameThe element name this component's host answers to.
protected virtual string? StyleThe component's own stylesheet, if it declared a <style> block.
protected virtual bool StyleIsScopedWhether that stylesheet was marked scoped.
Methods (2)
protected abstract void Build(BuildContext ctx)Builds this component's elements.
protected virtual void OnUnmounted()Called when the component leaves the tree, before its effects are disposed.
Used by (44, showing 40)
- BadEventVixen.Ui.Tests
- BarVixen.Ui.Controls.Tests
- BareVixen.Ui.Tests
- BoundVixen.Ui.Tests
- BoxesVixen.Ui.HotReload.Tests
- BranchingVixen.Ui.Tests
- BuildContextVixen.Ui
- CarryingVixen.Ui.HotReload.Tests
- ClickableVixen.Ui.Tests
- CompositionTestsVixen.Ui.Tests
- CounterVixen.Ui.Tests
- CountingVixen.Ui.HotReload.Tests
- EffectPassTestsVixen.Ui.Tests
- EmitterTestsVixen.Ui.Markup.Tests
- EntryVixen.Ui.HotReload
- FocusableVixen.Ui.HotReload.Tests
- GuestVixen.Ui.Tests
- HostVixen.Ui.Tests
- HostingVixen.Ui.Tests
- HotReloadHostVixen.Ui.HotReload
- HotReloadTestsVixen.Ui.HotReload.Tests
- LeadingBranchVixen.Ui.Tests
- ListingVixen.Ui.Tests
- LooseVixen.Ui.Tests
- MarkupTestsVixen.Ui.Controls.Tests
- MixedVixen.Ui.Tests
- NestedVixen.Ui.Tests
- OuterVixen.Ui.Tests
- PanelVixen.Ui.Tests
- PlainVixen.Ui.Controls.Tests
- PressableVixen.Ui.Controls.Tests
- ProjectingVixen.Ui.HotReload.Tests
- ScopedVixen.Ui.Tests
- ScopedStyleTestsVixen.Ui.Tests
- SwitchingVixen.Ui.Tests
- UiDocumentVixen.Ui
- VxmlGeneratorTestsVixen.Ui.Markup.Generators.Tests
- BrushInspectorMarkupTestsVixen.Editor.Terrain.Tests
- EditorSessionVixen.Editor.Testing
- MarkupInspectorVixen.Editor.Inspector