这里所说的图形指的是以下图片相似的东西:
理想解决方案应该满足以下条件:
- 只使用托管代码
- 可以输出为位图图像
- 可以输出到WPF元素
- 包括某种交互式表面,用于显示支持缩放、平移和节点重新组织的图形
如果有可能用作此类工作的起点,请告知我相关项目。如果需要进行一些开发来实现我想要的结果,我准备着手处理。这个目标中最复杂的部分似乎是在合理的时间框架内获取图形布局。
这里所说的图形指的是以下图片相似的东西:
理想解决方案应该满足以下条件:
如果有可能用作此类工作的起点,请告知我相关项目。如果需要进行一些开发来实现我想要的结果,我准备着手处理。这个目标中最复杂的部分似乎是在合理的时间框架内获取图形布局。
Graph# 是另一个选择。我个人没有使用过它,但一直想去了解一下。
我认为,Graphviz至今仍是最好的图形库之一。然而,将其整合到.Net中很麻烦。
可以调用命令行工具根据您的图形输入生成形状输出,然后读取输出并在自定义控件上布置元素,以显示graphviz计算出的任何形状。这非常笨拙,但这是我们团队几年前将graphviz与.Net集成的最佳方法。
也许今天存在更好的解决方案;当时GLEE仍处于非常初期阶段,我还没有看到微软自那时以来取得的进展。
我使用过这个http://www.codeproject.com/Articles/484616/MVVM-Diagram-Designer,它是一个开源的工具,非常易于使用。 代码解释得很清楚。
我已经使用过MsAgl了,它非常不错。它还拥有WinForms和WPF的查看器,这对您可能很重要,也可能不重要。您不必使用查看器,因为它们与图形布局引擎相当松散耦合。
它不支持Graphviz所支持的所有东西(尤其是某些形状类型)。此外,文档可能需要改进,但如果不是最精益求精的微软产品,它就非常稳定。
它确实符合您提出的所有要求,尽管“在查看器上”重新组织仅支持拖动节点,重新路由边缘和重新定位标签。图形不会响应这些元素的移动而重新定位任何其他项目。