choosing a diagramming library for .Net [closed]

2019-02-06 18:54发布

问题:

I have a customer who needs to convert a diagramming application (which was developed in MFC a long time ago) to C#. The application displays large networks (lots of graphical elements), and lets the user edit/manipulate the data through a graphical ui.

I decided that it would be best to use a library rather than to develop all from scracth (all graphic objects/selection/tools/events/etc)

I am looking for a commercial solution.

I found three that seem to be very mature, and I wonder if anyone had used them and can write his/her opinon:

  1. Tom Sawyer Visualization
  2. IBM ILog Diagrammer for .Net
  3. yWorks - yFiles for .Net

thanks Yaron

回答1:

For making good looking diagrams in .Net you should check out Frank Hileman's VG.Net. He's a reputed MVP and I believe his solution is really good:

http://www.vgdotnet.com/



回答2:

I am not familiar with this libraries, but one of my old projects we have use GoDiagram library, and can suggest that too



回答3:

I recommend MindFusion's Flowchart.NET. It's very easy to use and is very affordable considering it comes with a multitude of powerful layouting algorithms. Previously we used GoDiagram, but I recommend against it because their licensing system is a nightmare if you have build machines, and it's much more expensive.



回答4:

I believe Dundas charts is the most famous one...or at least the most advertised one:

http://www.dundas.com/Microsite/ChartNET/Default.aspx?Campaign=GoogleCSharpChart&gclid=CM-wncOq354CFUmK3godxENfMQ



回答5:

I know this probably isn't the best solution but I'm going to put it out there anyway.

I've done something similar to this using .Net's System.ComponenetModel.DesignSurface. This is the same design service used in Visual Studio's Windows Forms so all you do is create your controls, add your control designers if you want and you're good to go. You can use the PropertyGrid to display the data for each object as they are selected. Code Project has several articles about this like this one.

That said it's not going to be the best performance wise, I've got several thousand controls on my DesignSurface in some cases and it gets sluggish. You may be able to get around this by using another root designer type (WPF maybe?).

This could be a very good option if you already know how to do custom Windows Forms controls. And best of all it’s free!



回答6:

Have a look at Orbifold. They have got WPF based solutions (commercial) or libraries supporting GDI+ (free).

It's also a good starting point for information about diagramming algorithms in general.