Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 5 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-08T12:41:05.000Z (13 days ago)
- Last Synced: 2025-01-09T13:19:39.261Z (12 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.76 MB
- Stars: 1,452
- Watchers: 30
- Forks: 234
- Open Issues: 15
-
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
[![NuGet](https://img.shields.io/nuget/v/Nodify?style=for-the-badge&logo=nuget&label=release)](https://www.nuget.org/packages/Nodify/)
[![NuGet](https://img.shields.io/nuget/dt/Nodify?label=downloads&style=for-the-badge&logo=nuget)](https://www.nuget.org/packages/Nodify)
[![License](https://img.shields.io/github/license/miroiu/nodify?style=for-the-badge)](https://github.com/miroiu/nodify/blob/master/LICENSE)
[![C#](https://img.shields.io/static/v1?label=docs&message=WIP&color=orange&style=for-the-badge)](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)
![Canvas](https://i.imgur.com/MxsACq6.gif)
🎨 A playground application where you can try all the available settings.
> [Examples/Nodify.Playground](Examples/Nodify.Playground)
![Playground](https://i.imgur.com/aqrUpuP.gif)
🌓 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)
![StateMachine](https://i.imgur.com/nVKV5ly.gif)
💻 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)
![Calculator](https://i.imgur.com/jonrZAq.gif)
## 📥 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.