Class ConditionalNode
Definition
Namespace: StardewUI.Framework.Binding
Assembly: StardewUI.dll
A structural node that only passes through its child node when some condition passes.
Inheritance
Object ⇦ ConditionalNode
Implements
IViewNode, IDisposable
Members
Constructors
Name | Description |
---|---|
ConditionalNode(IViewNode, ICondition) | A structural node that only passes through its child node when some condition passes. |
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 |
---|---|
Dispose() | |
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. |
ToString() | (Overrides Object.ToString() ) |
Update(TimeSpan) | Performs the regular per-frame update for this node. |
Details
Constructors
ConditionalNode(IViewNode, ICondition)
A structural node that only passes through its child node when some condition passes.
public ConditionalNode(StardewUI.Framework.Binding.IViewNode innerNode, StardewUI.Framework.Binding.ICondition condition);
Parameters
innerNode
IViewNode
The node to conditionally render.
condition
ICondition
The condition to evaluate.
Properties
Children
The children of this node.
public 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.
public 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
Dispose()
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.
ToString()
Returns
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.