【问题标题】:How do I build a diagramming application in .NET?如何在 .NET 中构建图表应用程序?
【发布时间】:2009-06-11 05:41:42
【问题描述】:
我想编写一个 GUI 座位应用程序,允许用户绘制和注释简单的座位区“地图”。
最终结果可能看起来有点像 Visio,但专门用于操纵我的“座位”数据模型而不是生成文件。
在 Java 领域,有图形编辑框架 (GEF) -- 在 .NET 空间中是否有类似的东西?我应该只使用 System.Drawing.Drawing2D 基元并自己处理吗?
【问题讨论】:
标签:
c#
.net
user-interface
drawing
diagram
【解决方案3】:
查看NShape。它是一个用 C# 编写的开源图表框架,功能非常强大。它的控件是 WinForms 控件,但您也可以将其用于 WPF。
【解决方案4】:
您可以考虑使用 Visual Studio SDK 中的 DSL 工具包。它允许您通过首先创建域模型,然后创建允许用户创建或编辑该模型的实例的图形符号来创建图形 DSL 设计器。
您很可能能够创建一个看起来像座位区的图形符号。这将允许您的用户不仅可以“绘制图表”,还可以生成一个文件,其中包含所绘制内容的填充域模型。
【解决方案5】:
查看我们的 MetaDraw 组件 - www.MetaDraw.com
MetaDraw 旨在使这样的应用程序变得简单。
MetaDraw 将支持背景图像和注释层
您可以将用户置于多种编辑模式 - 线条、曲线、文本、形状等。
每个绘制的元素都是不同的 - 就像在 Visio 中一样,因此您可以允许用户选择对象并移动它们或调整它们的大小。每个对象都可以有多个隐藏标签(如座位号或数据库记录指针)。您可以识别用户选择了哪些对象(例如,当用户单击座位 22 时执行一些操作)。您可以通过代码动态修改属性 - 例如搜索座位 22 并更改其填充颜色。当然,您还可以滚动、缩放、打印、保存为各种格式等等。