我目前正在开发一个允许用户编写一些脚本的应用程序。我开发了一个“编译器”来分析用户编写的脚本,但现在我想创建一个具有用户所有可能性的可视化编辑器,类似于:Blockly - 可视化编程编辑器。
我目前正在使用 C#,但我不知道如何开发类似上面的东西。我想过在我的 DSL 上做我自己的可拖动 UI,但不知道如何开始。
谢谢
我目前正在开发一个允许用户编写一些脚本的应用程序。我开发了一个“编译器”来分析用户编写的脚本,但现在我想创建一个具有用户所有可能性的可视化编辑器,类似于:Blockly - 可视化编程编辑器。
我目前正在使用 C#,但我不知道如何开发类似上面的东西。我想过在我的 DSL 上做我自己的可拖动 UI,但不知道如何开始。
谢谢
Blockly 是开源的,所以请随意将它用于您的编辑器。为了使用 Blockly 库,您实际上不需要了解太多 JavaScript,并且有一个支持小组。
对于其他尝试做类似事情的 Wpf 开发人员,我不建议自己这样做,而是实际使用 Wpf 中的网页,然后通过它与 Blockly 进行通信。我向你保证,这将比实际尝试自己做这件事要容易得多。
如果您不想重新创建所有脚本生成代码,您还可以为 Blockly 创建一个自定义 xml 生成器,然后打印出连接了哪些块,如下所示:
<block>
<whileblock repeat="20"/>
<block/>
然后破译它并根据连接的块从 c# 生成你的脚本。