Interface INodeState
Interface for the mutable runtime state of a node. Separates position, size, and UI state from the immutable definition.
public interface INodeState : INotifyPropertyChanged
- Inherited Members
Remarks
Implementations must raise PropertyChanged when any property changes to support data binding.
Default implementation: NodeState Avalonia-optimized: FlowGraph.Avalonia.Binding.ObservableNodeState
Properties
Height
The height of the node. Null means auto-sized based on content.
double? Height { get; set; }
Property Value
IsCollapsed
Whether a group node is collapsed (only meaningful when IsGroup is true).
bool IsCollapsed { get; set; }
Property Value
IsDragging
Whether this node is currently being dragged.
bool IsDragging { get; set; }
Property Value
IsHighlighted
Whether this node is highlighted for emphasis (e.g., search results, analysis feedback). Unlike selection, highlighting is purely visual and doesn't affect operations.
bool IsHighlighted { get; set; }
Property Value
IsSelected
Whether this node is currently selected.
bool IsSelected { get; set; }
Property Value
IsVisible
Whether this node is visible in the canvas. Invisible nodes are not rendered but remain in the graph.
bool IsVisible { get; set; }
Property Value
Width
The width of the node. Null means auto-sized based on content.
double? Width { get; set; }
Property Value
X
The X coordinate of the node in canvas space.
double X { get; set; }
Property Value
Y
The Y coordinate of the node in canvas space.
double Y { get; set; }
Property Value
ZIndex
Z-index for rendering order. Higher values render on top. Default is CanvasElement.ZIndexNodes (300).
int ZIndex { get; set; }