A collection of controls for node based editors designed for MVVM.
This project is a refactoring of Nodify on the Avalonia platform and is not a 1:1 replica of Nodify, but they have many similarities.
- Designed from the start to work with MVVM
- Built-in dark and light themes
- Selecting, zooming, panning
- Select, move, auto align, auto panning when close to edge and connect nodes
- Supports
- auto align Node
- display text on Connection
- Nonsupport
- Select multiple nodes
- Will be supported in the future
- none
Press
andHold
-> Move the all show items- Mouse wheel -> Zoom all show items
Press
andHold
-> Move the NodePress Move
andHold Shift
-> Move the Node(without automatically align)Press
the Node -> Select the Node
Press
andHold
the Connector and move to another Connector -> Create a new connection- Hold
Alt
andClick
Connection -> Remove Connection DoubleClick
Connection -> Split the connection in the double-click position
Press
andHold
the Connector -> Show connection preview
- Hold
Alt
andClick
Connector -> Remove all the Connections on the Connector
- ViewModelBase is for reference only, you don't need to use it, there are binding methods in Example's AXAML code.
- Do not use
Mode=OneWayToSource
when you have multiple Nodify bound to the same ViewModel, this is a bug from Avalonia
please see the NodifyM.Avalonia.Example
- Optimization No longer forces connector type
- Fix If the connector is a Combobox can't click to expand it
- Fix OnPointerPressed event handler
- Remove unnecessary packages
- Fixed SelectedNode Property
- Added the ability to select and drag the Node corresponding to the Connector
- Fixed the adaptive node layout calculation error
- Added node centerline alignment
- Added automatic adaptation to display all Nodes when NodifyEditor is initialized
- Optimize child node search
- Fixed Node Header/Input/OutputTemplate allow use IDataTemplate
- Added Avalonia.Diagnostics Condition
- Allows not to use the built-in ViewModelBase
- Fixed ViewTranslateTransform and AlignmentLine exceptions when multiple NodifyEditor
- Added Light and Dark themes follow the Avalonia toggle
- Fixed invalid Connection Text Brush modifications
- Optimize the Dark theme color
- Added GridLine color definition
- Added Node auto panning when close to edge
- Fixed Node IsSelected property
- Fixed Node BorderBrush Style
- Added Node Alignment hint
- Added the ability to temporarily without automatically align Node while holding Shift
- Added the ability to display text on Connection
- Add align Node configuration properties
- Add Node automatic alignment
- Added the connection SplitConnection and DisconnectConnection commands
- Add CircuitConnection
- Fixed default control color to dictionary color
- Support to override the Connect and Disconnect from NodifyEditorViewModelBase method
- Fix KnotNode Show
- Remove some useless attributes