如何开始使用C#进行图表开发

6
我想尝试创建一个图表制作工具(类似于SQL Server 2005中可以创建的实体关系图或Microsoft Visual Studio中可以做的类图)。
也就是说,我想创建方框,在其中放置文本,能够编辑这些文本并在方框之间画线。
我以前从未做过这种编程,所以不知道从哪里开始。
我应该使用XAML还是创建画布并进行图形编程?
我知道有一些图表工具可用,但我真的很想自己做出这些东西。

1
前段时间我曾尝试使用逻辑图来做类似的事情,但是没有取得很大进展。我对你的项目和你所得到的答案非常感兴趣。 - Dinah
4个回答

2

1
哇,那看起来就像是任何绘图应用程序的80%,太棒了!+1 - Dave Swersky

2

WPF/XAML是开始类似任务的绝佳选择。您需要全面学习WPF,重点放在自定义控件(用于表格)和绘制线条(用于关系)上。


1

你选择的渲染引擎有些随意 - 无论你使用什么框架,你都需要做很多工作。

我曾在C#和WinForms中实现过这样的系统,我可以诚实地说,这是一条不好的路。坚持使用WPF/Silverlight。跟随潮流,编写一个Silverlight 4应用程序,这样你就可以在多个平台上部署到桌面。

我发现,有很多高层次的决策比你使用哪个渲染引擎更重要。其中一些是:

  • 你需要多大程度的缩放和平移才能浏览数据呢?

    • 是否需要连续缩放,以便可以对数据进行动画处理?
    • 是否需要通过鼠标轻松平移?
    • 你将如何区分平移操作与拖拽操作?
    • 在当前缩放级别下,你是否会更改框内内容的布局?还是依靠字体缩放?
  • 你需要分组吗?当屏幕上有几个表格时,你很快就会意识到隐藏一些细节是有用的。能够分组盒子并将其显示为“元”盒子的图标形式,允许用户摆脱不需要的干扰。

  • 你需要搜索吗?为了解决“屏幕上太多内容”的问题,拥有一个可以隐藏所有不符合搜索条件的搜索框(变灰,隐藏等)是非常有益的。

  • 用户将如何通过键盘与之交互。由于你的受众可能包括程序员,因此你需要仔细考虑如何只使用键盘即可对所有图表进行编辑。这意味着需要智能地处理焦点和选择哪些热键。


1
如弗兰克所指出的那样-创建互动图形是大生意。许多公司已经在这方面进行了投资,花费了数百万英镑来完善它。这将取决于您需要多少交互性。我建议您选择一个可扩展或具有API的绘图应用程序-适合您的预算。在我看来,较好的应用程序位于CAD领域,例如AutoCAD(每个座位4,000英镑),TurboCAD,VeCAD(每个座位200英镑);而且都有允许您在自己的产品中重新销售他们的产品的包装。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接