NodifyM.Avalonia 1.0.16

dotnet add package NodifyM.Avalonia --version 1.0.16                
NuGet\Install-Package NodifyM.Avalonia -Version 1.0.16                
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="NodifyM.Avalonia" Version="1.0.16" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add NodifyM.Avalonia --version 1.0.16                
#r "nuget: NodifyM.Avalonia, 1.0.16"                
#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.
// Install NodifyM.Avalonia as a Cake Addin
#addin nuget:?package=NodifyM.Avalonia&version=1.0.16

// Install NodifyM.Avalonia as a Cake Tool
#tool nuget:?package=NodifyM.Avalonia&version=1.0.16                

NodifyM.Avalonia

NuGet NuGet License

A collection of controls for node based editors designed for MVVM.

About

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. image image

Features

  • Designed from the start to work with MVVM
  • Built-in dark and light themes
  • Selectingzoomingpanning
  • Select, move, auto align, auto panning when close to edge and connect nodes

What are the differences compared to Nodify

  • Supports
    • auto align Node
    • display text on Connection
  • Nonsupport
    • Select multiple nodes
  • Will be supported in the future
    • none

Usage

NodifyEditor

  • Press and Hold → Move the all show items
  • Mouse wheel → Zoom all show items

Node

  • Press and Hold → Move the Node
  • Press Move and Hold Shift → Move the Node(without automatically align)
  • Press the Node → Select the Node

Connection

  • Press and Hold the Connector and move to another Connector → Create a new connection
  • Hold Alt and Click Connection → Remove Connection
  • DoubleClick Connection → Split the connection in the double-click position

PendingConnection

  • Press and Hold the Connector → Show connection preview

Connector

  • Hold Alt and Click Connector → Remove all the Connections on the Connector

Notice

  1. ViewModelBase is for reference only, you don't need to use it, there are binding methods in Example's AXAML code.

Some known problems

  1. Do not use Mode=OneWayToSource when you have multiple Nodify bound to the same ViewModel, this is a bug from Avalonia

Example

please see the NodifyM.Avalonia.Example
You can git clone the project and run NodifyM.Avalonia.Example

Changelog

1.0.16

  • Optimization No longer forces connector type
  • Fix If the connector is a Combobox can't click to expand it

1.0.15

  • Fix OnPointerPressed event handler

1.0.14

  • Remove unnecessary packages

1.0.13

  • Fixed SelectedNode Property
  • Added the ability to select and drag the Node corresponding to the Connector

1.0.12

  • Fixed the adaptive node layout calculation error
  • Added node centerline alignment

1.0.11

  • Added automatic adaptation to display all Nodes when NodifyEditor is initialized
  • Optimize child node search

1.0.10

  • Fixed Node Header/Input/OutputTemplate allow use IDataTemplate
  • Added Avalonia.Diagnostics Condition

1.0.9

  • Allows not to use the built-in ViewModelBase
  • Fixed ViewTranslateTransform and AlignmentLine exceptions when multiple NodifyEditor

1.0.8

  • Added Light and Dark themes follow the Avalonia toggle
  • Fixed invalid Connection Text Brush modifications
  • Optimize the Dark theme color
  • Added GridLine color definition

1.0.7

  • Added Node auto panning when close to edge

1.0.6

  • Fixed Node IsSelected property
  • Fixed Node BorderBrush Style
  • Added Node Alignment hint

1.0.5

  • Added the ability to temporarily without automatically align Node while holding Shift
  • Added the ability to display text on Connection

1.0.4

  • Add align Node configuration properties
  • Add Node automatic alignment

1.0.3

  • 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
Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  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. 
.NET Core netcoreapp3.1 is compatible. 
.NET Framework net472 is compatible.  net48 was computed.  net481 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
1.0.16 74 11/19/2024
1.0.15 164 5/6/2024
1.0.14 121 5/6/2024
1.0.13 402 4/3/2024
1.0.12 226 2/8/2024
1.0.11 106 2/6/2024
1.0.10 108 2/4/2024
1.0.9 106 2/3/2024
1.0.8 112 2/2/2024
1.0.7 107 2/1/2024
1.0.6 102 1/31/2024
1.0.5 104 1/30/2024
1.0.4 110 1/29/2024
1.0.3 102 1/29/2024
1.0.2 110 1/27/2024
1.0.1 96 1/27/2024
1.0.0 105 1/27/2024