Introduction
NodeEditor is an Avalonia control for building node-based editors. It renders nodes, pins, and connectors with fully templated visuals, while keeping behavior in view models that you can customize or replace. Node contents are regular Avalonia controls, so you can compose complex UIs inside each node.
Core Concepts
- Editor: The main control that hosts the canvas, nodes, connectors, and selection.
- Nodes and Pins: Nodes represent items on the canvas, while pins expose connection points.
- Connectors: Visuals and hit-testing for links between pins.
- Templates and Styles: All visuals are defined in XAML and can be re-templated.
- View Models: The default implementation lives in
NodeEditorAvalonia.Mvvm, while interfaces are inNodeEditorAvalonia.Model.
Packages
| Package | Description |
|---|---|
| NodeEditorAvalonia | Avalonia controls and default theme. |
| NodeEditorAvalonia.Model | Core model interfaces shared by controls and view models. |
| NodeEditorAvalonia.Mvvm | Default MVVM view models built on CommunityToolkit.Mvvm. |
| NodeEditorLogic.Core | Core logic sample models and services used by LogicLab. |
| NodeEditorLogic.Editor | LogicLab editor-specific types and tooling. |
| NodeEditor.Base | Base sample assets and view models. |
| NodeEditor.Logic | LogicLab sample assets and view models. |