Northwoods.GoWinForms 10.0.0-beta3

.NET 6.0 .NET Framework 4.6.2
This is a prerelease version of Northwoods.GoWinForms.
Install-Package Northwoods.GoWinForms -Version 10.0.0-beta3
dotnet add package Northwoods.GoWinForms --version 10.0.0-beta3
<PackageReference Include="Northwoods.GoWinForms" Version="10.0.0-beta3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Northwoods.GoWinForms --version 10.0.0-beta3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Northwoods.GoWinForms, 10.0.0-beta3"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Northwoods.GoWinForms as a Cake Addin
#addin nuget:?package=Northwoods.GoWinForms&version=10.0.0-beta3&prerelease

// Install Northwoods.GoWinForms as a Cake Tool
#tool nuget:?package=Northwoods.GoWinForms&version=10.0.0-beta3&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

GoDiagram — .NET Library for Interactive Diagrams

GoDiagram is currently in beta

<img align="right" height="150" src="https://camo.githubusercontent.com/9f7806c2bd58e9d2435f9b213881facc0e3ad8cf3efeb5ba973c89e669f535dd/68747470733a2f2f676f6469616772616d2e636f6d2f6173736574732f696d616765732f69636f6e2e706e67">

GoDiagram is a .NET library for creating interactive diagrams, charts, and graphs. It is based on the GoJS JavaScript diagramming library, also from Northwoods Software.

open issues Twitter Follow

Get Started with GoDiagram

GoDiagram is a flexible library that can be used to create a number of different kinds of interactive diagrams, including data visualizations, drawing tools, and graph editors. GoDiagram includes a number of built in layouts including tree layout, force directed, radial, and layered digraph layout, and a number of custom layout examples.

Read more about GoDiagram at godiagram.com.

This repository contains the sources for all samples and extensions. You can use the GitHub repository to quickly search through the sample sources.

In your project, we recommend referencing the library via NuGet as it will more reliably add toolbox items and necessary references.

Minimal Sample

Graphs are constructed by creating one or more templates, with desired properties data-bound, and adding model data.

  ...

  private void Setup() {
    _Diagram = diagramControl1.Diagram;

    // diagram properties
    _Diagram.UndoManager.IsEnabled = true;  // enable undo & redo

    // define a simple Node template
    _Diagram.NodeTemplate =
      new Node("Auto")  // the Shape will go around the TextBlock
        .Add(
          new Shape("RoundedRectangle") { StrokeWidth = 0 }
            .Bind("Fill", "Color"),
          new TextBlock {
              Font = new Font("Segoe UI", 14, FontWeight.Bold),
              Stroke = "#333",
              Margin = 8, // Specify a margin to add some room around the text
              Editable = true
            }
            .Bind("Text")
        );

    // but use the default Link template, by not setting Diagram.LinkTemplate

    // create the model data that will be represented by Nodes and Links
    _Diagram.Model = new Model {
      NodeDataSource = new List<NodeData> {
        new NodeData { Key = "n0", Text = "Alpha", Color = "lightblue" },
        new NodeData { Key = "n1", Text = "Beta", Color = "orange" },
        new NodeData { Key = "n2", Text = "Gamma", Color = "lightgreen" },
        new NodeData { Key = "n3", Text = "Delta", Color = "pink" }
      },
      LinkDataSource = new List<LinkData> {
        new LinkData { From = "n0", To = "n1" },
        new LinkData { From = "n0", To = "n2" },
        new LinkData { From = "n1", To = "n1" },
        new LinkData { From = "n2", To = "n3" },
        new LinkData { From = "n3", To = "n0" }
      }
    };
  }

  // define the model data
  public class Model : GraphLinksModel<NodeData, string, object, LinkData, string, string> { }
  public class NodeData : Model.NodeData {
    public string Color { get; set; }
  }
  public class LinkData : Model.LinkData { }

  ...

The above diagram and model code creates the following graph.

<img width="200" height="200" src="https://camo.githubusercontent.com/6b156093255a909563a2726c34f8f7a7b1b38c333098ab0a54618d7386c2fba1/68747470733a2f2f676f6469616772616d2e636f6d2f6173736574732f696d616765732f73637265656e73686f74732f6d696e696d616c2e706e67">

License

The GoDiagram software license.

Copyright (c) 2022 Northwoods Software Corporation

Product Versions
.NET net6.0-windows7.0
.NET Framework net462 net463 net47 net471 net472 net48
Compatible target framework(s)
Additional computed target framework(s)
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
10.0.0-beta3 108 4/18/2022
10.0.0-beta2 62 4/11/2022
10.0.0-beta1 62 4/7/2022
10.0.0-alpha9 55 3/22/2022
10.0.0-alpha8 65 2/11/2022
10.0.0-alpha7 57 2/7/2022
10.0.0-alpha6 79 1/6/2022
10.0.0-alpha5 68 1/6/2022
10.0.0-alpha4 72 12/30/2021
10.0.0-alpha3 76 12/22/2021
10.0.0-alpha2 89 12/16/2021
10.0.0-alpha1 97 12/14/2021