【问题标题】:implement draggable ui like blockly像blockly一样实现可拖动的ui
【发布时间】:2013-10-06 14:59:09
【问题描述】:

我目前正在开发一个允许用户编写一些脚本的应用程序。我开发了一个“编译器”来分析用户编写的脚本,但现在我想创建一个可视化编辑器,包含用户拥有的所有可能性,类似于:Blockly - A visual programming editor

我目前正在使用 C#,但我不知道如何开发类似上述的东西。我想过在我的 DSL 上做我自己的可拖动 UI,但不知道如何开始。

谢谢

【问题讨论】:

    标签: c# wpf


    【解决方案1】:

    Blockly 是开源的,所以请随意将它用于您的编辑器。为了使用 Blockly 库,您实际上不需要了解太多 JavaScript,并且有一个 support group

    【讨论】:

      【解决方案2】:

      对于尝试做类似事情的其他 Wpf 开发人员,我不建议自己这样做,而是实际使用 Wpf 中的网页,然后通过它与 Blockly 进行通信。我向你保证,这将比实际尝试自己做这件事要容易得多。

      Use Blockly inside a WebBrowser

      如果您不想重新创建所有脚本生成代码,您还可以为 Blockly 创建一个自定义 xml 生成器,然后打印出连接的块,如下所示:

      <block>
         <whileblock repeat="20"/>
      <block/>
      

      然后破译它并根据连接的块从 c# 生成脚本。

      【讨论】:

        【解决方案3】:

        你可以用 WPF 做到这一点。 使用拖放,您可以真正靠近。 观看this video 将帮助您了解该机制是否有效。 尝试慢慢改进并使用它。 第二步是玩列表和拖放 Like shown here 。 通过使用从鼠标位置获得的数据来进一步改进它, 一个很好的方法demonstrated here

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2023-03-19
          • 1970-01-01
          • 1970-01-01
          • 2023-03-02
          • 2013-02-20
          • 2016-02-27
          • 2012-11-07
          相关资源
          最近更新 更多