【问题标题】:How do I start doing diagram development in c# [closed]如何开始在 C# 中进行图表开发 [关闭]
【发布时间】:2009-12-14 19:54:54
【问题描述】:

我想尝试创建一个图表制作工具(类似于您可以在 SQL Server 2005 中创建的实体关系图,或者您可以在 Microsoft Visual Studio 中创建的类图)

即。我想创建框,将文本放入其中,能够编辑此文本并在框之间画线。

我以前从未做过这种编程,所以我不知道从哪里开始。

我是使用 XAML 还是创建画布并开始图形编程?

我知道那里有一些图表工具,但我真的很想自己动手找出这些东西。

【问题讨论】:

  • 不久前,我尝试用逻辑图自己做一些类似的事情,但并没有走得太远。我对您的项目和您得到的答案非常感兴趣。

标签: c# graphics diagram


【解决方案1】:

WPF/XAML 是一个很好的起点。您需要学习 WPF 的一般知识,重点是自定义控件(用于表格)和绘制线条(用于关系)。

【讨论】:

    【解决方案2】:

    好吧,这里是the basis of one on CodeProject,带有源代码和教程。对于 WPF。

    另见this question

    【讨论】:

    • 哇,这看起来像任何图表应用程序的 80%,很棒的链接! +1
    【解决方案3】:

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

    在 C# 和 WinForms 中实现了这样一个系统,老实说,我可以说这是一条糟糕的路。坚持 WPF/Silverlight。顺应潮流,编写一个 Silverlight 4 应用程序,以便您可以部署到多个平台上的桌面。

    我发现您必须做出许多比使用哪种渲染引擎更重要的高级决策。其中一些是:

    • 您需要缩放和平移多少?

      • 您想要连续缩放以便对数据进行简洁的动画处理吗?
      • 您需要能够仅使用鼠标进行平移吗?
      • 如何区分平移移动和拖动框和手柄?
      • 是否会根据当前缩放级别更改框中的内容布局?还是你会依赖字体缩放?
    • 您需要分组吗?一旦您在屏幕上看到几张表格,您很快就会意识到能够隐藏一些细节很有用。能够对框进行分组并以标志性形式将该组显示为“元”框,可以让用户摆脱不必要的干扰。

    • 您需要搜索吗?再次尝试解决“屏幕太多”的问题,最好有一个搜索框来隐藏与搜索不匹配的所有内容(灰显、隐藏等)

    • 用户将如何与键盘交互。由于您的受众可能包括程序员,因此您需要花很多心思来使您的所有图表都可以仅使用键盘进行编辑。这意味着智能地处理焦点以及使用哪些热键。

    【讨论】:

      【解决方案4】:

      正如弗兰克所指出的 - 创建交互式图形是一项大生意。许多公司已经在那里,花费数百万英镑来完善它。这取决于您想要多少交互性。我建议您选择一个可扩展或具有 API 的图形应用程序 - 适合您的预算。更好的是(在我看来)在 CAD 领域,例如 AutoCAD(4000 英镑/座)、TurboCAD、VeCAD(200 英镑/座);并且都有允许您在您的产品中转售他们的产品的软件包。

      【讨论】:

        猜你喜欢
        • 2012-05-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-19
        • 2010-09-30
        • 1970-01-01
        • 1970-01-01
        • 2012-07-11
        相关资源
        最近更新 更多