首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在WPF中方便地绘制图形?

如何在WPF中方便地绘制图形?
EN

Stack Overflow用户
提问于 2013-05-10 10:03:51
回答 6查看 71.5K关注 0票数 36

我需要绘制表示有限状态机的图表。我试着使用Graph#。它很酷,但它缺少一些东西。没有文档,这使得它很难使用,我不能用它的自定义WPF控件来绘制循环(从顶点到它自己的边),并且标记边也没有实现。在WPF中还有其他的图形绘制方法吗?

我需要的功能:

  • 边缘标记
  • 环(循环)边
  • 顶点标号
  • 绘制顶点周围的单/双圆-顶点应表示为带有标签的圆(或双圆)。

有什么想法吗?

编辑:

我有一些主张,我对此表示感谢。不过,我想我并没有清楚表达我的想法。我需要这种图表:

到目前为止,所有建议的工具都不适合这种情况,或者我可能不知道如何在这种情况下应用它们。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-06-18 14:18:47

墨维兹 + GraphViz C#包装器正是我想要的。

票数 9
EN

Stack Overflow用户

发布于 2015-07-21 11:31:00

选项1: Microsoft自动图形布局

免费

http://research.microsoft.com/en-us/projects/msagl/

GitHub

https://github.com/Microsoft/automatic-graph-layout.git

Winforms >> WPF

它是WinForms,但是可以用几行代码将其导入WPF。

用Microsoft自动图形布局可视化节点和边缘

wpf/article.php/c16963/Visualizing-Nodes-and-Edges-with-Microsoft-Automatic-Graph-Layout.htm

示例

http://research.microsoft.com/en-us/projects/msagl/#Layouts

常见问题

http://research.microsoft.com/en-us/projects/msagl/faq.aspx

选项2: QuickGraph -一个支持Graphviz的100% C#图片库

免费

http://quickgraph.codeplex.com/

这个库是100% C#。不要被"Graphviz支持“行误导,这意味着它使用C#代码从Graphviz导入输出。没有C++代码在望。

http://www.codeproject.com/Articles/5603/QuickGraph-A-C-graph-library-with-Graphviz-Sup

有一个NuGet包。

2003年至2011年正在开发(8年)。

备选方案3: GraphSharp

免费

http://graphsharp.codeplex.com/

  • 取决于QuickGraph ( 100% C#)。
  • 支持异步/等待(很好!)。

演示

https://sachabarbs.wordpress.com/2010/08/31/pretty-cool-graphs-in-wpf/

备注

这个很好用,在几个小时内就开始运行了。它还支持DataTemplates,因此每个节点都可以有您想要的任何外观和感觉。

备选方案4: Graphviz4net

免费

http://graphviz4net.codeplex.com/

备选方案5: GoDiagram

$$$

http://www.nwoods.com/products/godiagram/index.html

选项6: WPF的图树绘制控件

免费

http://www.codeproject.com/Articles/29518/A-Graph-Tree-Drawing-Control-for-WPF

不合适。这是树的布局。

选项7:使用WPF可视化具有圆形依赖关系的图形

免费

http://www.codeproject.com/Articles/43776/Using-WPF-to-Visualize-a-Graph-with-Circular-Depen

备选方案8: GraphViz

免费

http://www.graphviz.org/Download..php

这不是C#,而是使用非托管代码.不过,也有一些C#包装器。

AT&T开放,参见"AT&T研究人员-发明服务背后的科学“和"research > portfolio >软件工具”:gxLLEc

来源

source.php

他们还开源了Rserve!

备选案文9: Shields.GraphViz

免费

GraphViz的包装器。

https://github.com/timothy-shields/graphviz

选项10: NetworkView:用于可视化和编辑网络、图形和流程图的WPF自定义控件

免费

http://www.codeproject.com/Articles/182683/NetworkView-A-WPF-custom-control-for-visualizing-a

这个库允许用户在节点之间创建连接,这可能有点过火了。

示例

https://channel9.msdn.com/coding4fun/blog/Noodling-Network-Nodes-Diagraming-with-the-NetworkView-custom-WPF-control

都是MVVM。

选项11: Gephi -开放式图形Viz平台

免费

请参阅http://gephi.github.io/

不是WPF图形库,而是提供了非常好的图形外观的很好的例子。这个教程很棒。

备选方案12: Telerik

$$$

http://www.telerik.com/products/wpf/diagrams.aspx

备选案文13:不脆弱性

$$$

http://www.infragistics.com/samples/wpf/network-node/overview http://www.infragistics.com/samples/wpf/network-node/relationship-between-nodes http://www.infragistics.com/samples/wpf/network-node/custom-node-style

选项14: WPF图表设计器

免费

不是那么多绘图工具,但它确实向您展示了如何移动、调整大小和旋转画布上任何类型的对象。

http://www.codeproject.com/Articles/22952/WPF-Diagram-Designer-Part-1

选项15: MVVM图表设计器

免费

而且,有人在MVVM中重新实现了这一点:不是那么多绘图工具,但它确实向您展示了如何在画布上移动、调整大小和旋转任何类型的对象。

http://www.codeproject.com/Articles/484616/MVVM-Diagram-Designer

选项16: yWorks -图表公司

$$$

gallery.html about.html

备选方案17: MindFusion

$$$

http://www.mindfusion.eu/features-wpfdiagram.html http://www.mindfusion.eu/

备选方案18: Dot2WPF

免费

用于查看DOT图形的WPF控件。

http://www.codeproject.com/Articles/18870/Dot-WPF-a-WPF-control-for-viewing-Dot-graphs

备选方案19: SyncFusion

$$$

https://www.syncfusion.com/products/wpf/diagram

备选方案20: AddFlow

$$$

https://www.componentsource.com/product/addflow-wpf-standard

备选案文21: Lassalle

$$$

http://www.lassalle.com/

选项22:动态数据显示

http://dynamicdatadisplay.codeplex.com/

备选案文23: Nevron

$$$

https://www.nevron.com/

只适用于WinForms,但可以导入WPF。但是,每个单独的项目都不能被模板化,这是WPF解决方案的一个巨大优势。

谷歌搜索术语

  • “工作流wpf图”
  • "wpf图形库“
  • "wpf状态机库“
票数 78
EN

Stack Overflow用户

发布于 2013-06-18 10:11:50

我认为您可以使用GraphX库轻松地实现WPF的所有需求。它基于Graph#,有详细的文档。http://panthernet.ru/en/projects-en/graphx-en

它支持边缘标签和自环边,以及边和顶点模板.如果你有任何问题,你可以在网站上的讨论部分提问。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16479768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档