c# – ScintillaNET和AvalonEdit,用于为WPF应用程序提供脚本接口

栏目: ASP.NET · 发布时间: 7年前

内容简介:代码日志版权声明:翻译自:http://stackoverflow.com/questions/8577627/scintillanet-vs-avalonedit-for-providing-scripting-interface-for-a-wpf-applicati
我正在开展一个项目,包括为我的WPF(.Net4)windows应用程序实现一个脚本界面.我很好奇,如果有人可以建议一个首选的编辑, AvalonEdit vs ScintillaNET .任何陷阱和优势之一.我们需要支持C#和Iron Python

作为脚本语言. (至少这是初始计划,我们可能会在其中一个完成).

ScintillaNET的一个缺点就是它只是一个托管包装在本机(非托管)Scintilla周围.这与WPF4一起使用会导致任何问题.

任何指针和建议都不胜感激.

我认为这取决于你要在编辑器中实现多少功能.还有多少工作你愿意把它扩展它,以及你愿意处理多少学习曲线.

如果你是Win32的目标,你不介意非托管的DLL,那么我认为Scintilla.NET不会是一个问题.另外你也可以很容易地将其以WPF的方式托管为 this 页面.

我个人觉得Scintilla比AvalonEdit更好.使用基本编辑器也更容易入门,并提供了很多开箱即用的功能,例如Scintilla提供开箱即用的代码.

使用AvalonEdit,您必须创建一个折叠策略并自己解析文档,这就是为了支持我尚未实现的AvalonEdit的IronPython所必须做的.

所有我需要支持IronPython编辑器在闪烁是SciLexer.dll在搜索路径和Scintilla.net汇编和以下配置:

private void Form1_Load(object sender, EventArgs e)
    {
        this.scintilla1 = new ScintillaNet.Scintilla();
        this.scintilla1.ConfigurationManager.Language = "python";
        this.scintilla1.Indentation.ShowGuides = true;
        this.scintilla1.Indentation.SmartIndentType = ScintillaNet.SmartIndent.Simple;
        this.scintilla1.Location = new System.Drawing.Point(0, 0);
        this.scintilla1.Margins.Margin0.Width = 40;
        this.scintilla1.Margins.Margin2.Width = 20;
        this.scintilla1.Name = "scintilla1";
        this.scintilla1.TabIndex = 4;
        this.scintilla1.Whitespace.Mode = ScintillaNet.WhitespaceMode.VisibleAfterIndent;
        this.scintilla1.Dock = DockStyle.Fill;
        this.Controls.Add(this.scintilla1);
    }

对于AvalonEdit,您必须加载一个外部荧光笔文件,您可以看到 this 博客文章了解更多信息.所以,如果你想要的基础(突出显示,折叠python c#)我的结论是,早饭更容易,表现更好.尽管使用AvalonEdit,如果您愿意付出努力并处理学习曲线,您可能最终可以做更多的工作.目前我正在使用Scintilla作为我的稳定编辑,并且正在试验Avalon作为概念证明.也许我会在更多地了解编辑的同时形成新的观点.

祝你好运

代码日志版权声明:

翻译自:http://stackoverflow.com/questions/8577627/scintillanet-vs-avalonedit-for-providing-scripting-interface-for-a-wpf-applicati


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Web程序设计

Web程序设计

(美)塞巴斯塔 / 王春智、刘伟梅 / 清华大学出版社 / 2011-1 / 69.00元

《Web程序设计(第6版)》浓墨重彩地描述客户端和服务器端Web开发技术,深入分析Web站点构造和维护工具,并透彻讲解主流Web编程语言。《Web程序设计(第6版)》对上一版内容做了全面细致的修改,并融入了NetBeans 6.7、Visual Studio 8和ASP.NET Web服务等最新技术。《Web程序设计(第6版)》既可以作为高校教材,也可供专业Web编程人员参考使用。一起来看看 《Web程序设计》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具