Interface IViewNode
Definition
Namespace: StardewUI.Framework.Binding
Assembly: StardewUI.dll
Encapsulates a single bound node in a view tree.
Implements
IDisposable
Members
Properties
Name | Description |
---|---|
Children | The children of this node. |
Context | The currently-bound context data, used as the source for any InputBinding, OneTimeBinding, OutputBinding or TwoWayBinding attributes. |
FloatingElements | The floating elements for this node, if any have been created. |
Views | The views for this node, if any have been created. |
Methods
Name | Description |
---|---|
Print(StringBuilder, Boolean) | Prints the string representation of this node. |
Reset() | Clears any Views associated with this node and resets it to the default state before it was bound. |
Update(TimeSpan) | Performs the regular per-frame update for this node. |
Details
Properties
Children
The children of this node.
System.Collections.Generic.IReadOnlyList<StardewUI.Framework.Binding.IViewNode.Child> Children { get; }
Property Value
Remarks
Node children represent views in potentia. Every DOM node maps to (at least) one IViewNode, but views are created lazily and may not exist for nodes with conditional attributes or other rules.
Context
The currently-bound context data, used as the source for any InputBinding, OneTimeBinding, OutputBinding or TwoWayBinding attributes.
Property Value
FloatingElements
The floating elements for this node, if any have been created.
System.Collections.Generic.IReadOnlyList<StardewUI.Layout.FloatingElement> FloatingElements { get; }
Property Value
IReadOnlyList<FloatingElement>
Views
The views for this node, if any have been created.
Property Value
Methods
Print(StringBuilder, bool)
Prints the string representation of this node.
Parameters
sb
StringBuilder
The output builder to receive to the node's text.
includeChildren
Boolean
Whether or not to include the string representation of any/all child nodes between this node's opening and close tags. If this is false
or there are no children, it will be formatted as a self-closing tag.
Reset()
Clears any Views associated with this node and resets it to the default state before it was bound.
Remarks
Propagates the request down to Children, but is not required to clear Children and does not affect the Context assignment.
This is used to "unbind" the target of a structural node like ConditionalNode and in some cases prepare it for subsequent reuse.
Update(TimeSpan)
Performs the regular per-frame update for this node.
Parameters
elapsed
TimeSpan
Time elapsed since last update.
Returns
true
if any aspect of the view tree from this level downward was changed, i.e. as a result of a new Context, changed context properties, invalidated assets, or the View being created for the first time; false
if no changes were made.