/nodify

Highly performant and modular controls for node-based editors designed for data-binding and MVVM.

Primary LanguageC#MIT LicenseMIT

Nodify Nodify

NuGet NuGet License C#

A collection of highly performant controls for node-based editors designed for MVVM.

Tip

There is now a fantastic Avalonia port available! You can check it out here. Huge thanks to BAndysc who made this possible!

🚀 Examples of node-based applications

🔶 A canvas application where you can draw and connect shapes.

Examples/Nodify.Shapes

Canvas

🎨 A playground application where you can try all the available settings.

Examples/Nodify.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.StateMachine

StateMachine

💻 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.Calculator

Calculator

📥 Installation

Use the NuGet package manager to install Nodify.

Install-Package Nodify

⭐️ Features

  • Designed from the start to work with MVVM
  • No dependencies other than WPF
  • Optimized for interactions with hundreds of nodes at once
  • Built-in dark and light themes
  • Selecting, zooming, panning with auto panning when close to edge
  • Select, move and connect nodes
  • Lots of configurable dependency properties
  • Ready for undo/redo
  • Example applications: 🎨 Playground, 🌓 State machine, 💻 Calculator, 🔶 Canvas

📝 Documentation

Check out the wiki and the changelog in github.

Helping with documentation, bug reports, pull requests or anything else is very welcome.