Nodify.Avalonia 2.0.0

dotnet add package Nodify.Avalonia --version 2.0.0
                    
NuGet\Install-Package Nodify.Avalonia -Version 2.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Nodify.Avalonia" Version="2.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Nodify.Avalonia" Version="2.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Nodify.Avalonia" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Nodify.Avalonia --version 2.0.0
                    
#r "nuget: Nodify.Avalonia, 2.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Nodify.Avalonia@2.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Nodify.Avalonia&version=2.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Nodify.Avalonia&version=2.0.0
                    
Install as a Cake Tool

Nodify.Avalonia

Node-editor controls for Avalonia, designed for MVVM applications.

NuGet Downloads License

This project ports Nodify from WPF to Avalonia 12 and .NET 8. It follows the upstream API and behavior while adapting input, rendering, and theming to Avalonia.

Why this port?

  • Avalonia 12.0.5 and .NET 8
  • Nodify v7-style InputProcessor architecture
  • Per-editor input gesture mappings
  • Keyboard navigation and pending-connection hotkeys
  • Connection multi-selection, cutting lines, grouping nodes, and minimap support

Installation ยท Examples ยท Documentation ยท Contributing

๐Ÿš€ Examples of node-based applications

The repository ships five runnable sample apps, ported from the upstream examples.

๐Ÿงฉ A workflow designer app where you can visualize CI/CD pipelines and their dependencies.

Examples/Nodify.Avalonia.Workflow

Workflow designer

๐Ÿ”ถ A canvas application where you can draw and connect shapes.

Examples/Nodify.Avalonia.Shapes

Shapes

๐ŸŽจ A playground application where you can try all the available settings.

Examples/Nodify.Avalonia.Playground

Playground

๐ŸŒ“ A state machine where each state represents an executable action, and each transition represents a condition for executing the next action.

Examples/Nodify.Avalonia.StateMachine

State machine

๐Ÿ’ป A simple "real-time" calculator where each node represents an operation that takes input and feeds its output into other node's input.

Examples/Nodify.Avalonia.Calculator

Calculator

A short walkthrough is also available on YouTube.

๐Ÿ“ฅ Installation

Install via the NuGet package manager:

Install-Package Nodify.Avalonia

Or add a package reference:

<PackageReference Include="Nodify.Avalonia" Version="2.0.0" />

Register the theme in App.axaml:

<Application.Styles>
    <FluentTheme />
    <StyleInclude Source="avares://Nodify.Avalonia/Themes/Controls.xaml" />
</Application.Styles>

Then host the editor:

<nodify:NodifyEditor xmlns:nodify="clr-namespace:Nodify.Avalonia;assembly=Nodify.Avalonia"
                     ItemsSource="{Binding Nodes}"
                     Connections="{Binding Connections}"
                     PendingConnection="{Binding PendingConnection}"
                     SelectedItems="{Binding SelectedNodes}" />

โญ๏ธ Features

  • Designed from the start to work with MVVM
  • No dependencies other than Avalonia
  • Optimized for interactions with hundreds of nodes at once
  • Built-in dark and light themes
  • Selecting, zooming, and panning with auto-panning near the edges
  • Select, move, and connect nodes
  • Multiple connection styles: straight lines, bezier curves, and circuit-style
  • Ready for undo/redo
  • Configurable input gestures for each action
  • Built-in keyboard navigation system
  • Grouping and comment nodes, and a decorators overlay layer
  • Lots of configurable styled properties

๐Ÿ“š Documentation

Read the documentation and the changelog.

โค๏ธ Contributing

Documentation, bug reports, and pull requests are very welcome.

  1. Clone the repository
  2. Open Nodify.Avalonia.sln
  3. Build and run any of the sample apps to smoke-test your changes

๐Ÿ“„ License

Licensed under the MIT License โ€” see LICENSE. This port retains the original Nodify copyright; all credit for the original library goes to Miroiu Emanuel.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.0 3,147 7/14/2026
1.0.2 1,221 2/28/2024
1.0.1 312 1/23/2024
1.0.0 243 1/23/2024

See CHANGELOG.md