https://github.com/miroiu/nodify
Highly performant and modular controls for node-based editors designed for data-binding and MVVM.
https://github.com/miroiu/nodify
calculator controls editor flow-based-programming good-first-issue graph graph-control infinite-canvas mvvm net6 node-editor node-graph node-network panning state-machine visual-programming vpl wpf zooming
Last synced: 11 days ago
JSON representation
Highly performant and modular controls for node-based editors designed for data-binding and MVVM.
- Host: GitHub
- URL: https://github.com/miroiu/nodify
- Owner: miroiu
- License: mit
- Created: 2020-08-27T15:42:36.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2025-01-24T18:24:50.000Z (3 months ago)
- Last Synced: 2025-04-04T06:01:34.296Z (19 days ago)
- Topics: calculator, controls, editor, flow-based-programming, good-first-issue, graph, graph-control, infinite-canvas, mvvm, net6, node-editor, node-graph, node-network, panning, state-machine, visual-programming, vpl, wpf, zooming
- Language: C#
- Homepage: https://miroiu.github.io/nodify
- Size: 4.78 MB
- Stars: 1,540
- Watchers: 29
- Forks: 246
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-node-based-uis - nodify - A collection of WPF controls for node based editors designed for MVVM. (.NET Libraries / Renderers)
README
# Nodify
[](https://www.nuget.org/packages/Nodify/)
[](https://www.nuget.org/packages/Nodify)
[](https://github.com/miroiu/nodify/blob/master/LICENSE)
[](https://github.com/miroiu/nodify/wiki)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](https://github.com/BAndysc/nodify-avalonia). Huge thanks to [BAndysc](https://github.com/BAndysc) who made this possible!## 🚀 Examples of node-based applications
🔶 A canvas application where you can draw and connect shapes.
> [Examples/Nodify.Shapes](Examples/Nodify.Shapes)

🎨 A playground application where you can try all the available settings.
> [Examples/Nodify.Playground](Examples/Nodify.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](Examples/Nodify.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](Examples/Nodify.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**](Examples/Nodify.Playground), 🌓 [**State machine**](Examples/Nodify.StateMachine), 💻 [**Calculator**](Examples/Nodify.Calculator), 🔶 [**Canvas**](Examples/Nodify.Shapes)
## 📝 DocumentationCheck out the [wiki](https://github.com/miroiu/nodify/wiki) and the [changelog](CHANGELOG.md) in github.
## ❤️ [Contributing](CONTRIBUTING.md)
Helping with documentation, bug reports, pull requests or anything else is very welcome.