Silverlight XML 编辑器/语法高亮

Posted

技术标签:

【中文标题】Silverlight XML 编辑器/语法高亮【英文标题】:Silverlight XML editor / syntax highlighting 【发布时间】:2010-09-29 12:59:24 【问题描述】:

我正在寻找一个 Silverlight 文本编辑器控件,它提供 XML 语法突出显示。我在 WinformsWPF 中找到了一些答案,例如 here on ***,但我没有设法将它们转换为 Silverlight。 Silverlight 缺少 System.Drawing 的事实可能是一个大问题。

我为 Silverlight 找到的唯一文本编辑器是 RichTextEdit on Codeplex,但我认为它不适合用于实时语法高亮显示。

有没有人听说过这样的控件,或者可以提供有关如何构建的提示? 非常感谢,

罗曼

【问题讨论】:

【参考方案1】:

我终于找到了我想要的控件! SL2TextBoxWsSynParser

编辑:此控件似乎不再更新,但出现了一个新的语法高亮控件:

它在here 上可用,并在CoderProof 网站上使用。

【讨论】:

可以在此处找到更新版本:vladhorby.com/blog/post/2010/11/01/…。它现在支持各种语言(C#、VB.NET、XML 等)【参考方案2】:

Actipro Software 有一个用于 Winforms、WPF 和 Silverlight 的语法高亮组件:

http://www.actiprosoftware.com/

【讨论】:

【参考方案3】:

我认为这是一个有趣的问题,但你没有答案。

我不知道现有的控件。

我已经构建了一个用于编辑 Xhtml 的控件,但它也使用 System.Drawing 而不是 WPF(因此不适用于 Silverlight)。

WPF 可能至少和 System.Drawing 一样强大,但我不知道。

关于我如何构建它的提示:

定义一个 DOM(普通的 System.Xml.XmlDocument 可能适合您) 解析文档以实例化 DOM 定义用户控件(带有滚动条) 将 DOM 实例传递给用户控件 在控件的“paint”方法中,绘制 DOM 的可见部分 实现对鼠标和按键的支持

如果您真的想要关于如何构建一个的提示,请询问更具体的内容。

【讨论】:

【参考方案4】:

您好,感谢您的回答!

不幸的是,虽然 WPF 具有绘图功能,但 Silverlight 运行一组非常有限的 CLR。绘制用户控件看起来是一项艰巨的任务。

但是,以前使用此Rich text editor for Silverlight 已完成此操作。我会看看我是否设法使用类似的技术来呈现 XML 文档。

但有一个问题:用户控件是否足够快以在用户进行更改时即时渲染 DOM?

【讨论】:

以上是关于Silverlight XML 编辑器/语法高亮的主要内容,如果未能解决你的问题,请参考以下文章

我在iPhone4S上的SSH中的VIM编辑器不显示语法高亮。。

VScode 怎么才能有语法高亮

x01.editor: 语法高亮编辑器

x01.editor: 语法高亮编辑器

Eclipse安装各种语法高亮编辑器

xml 用于Go的Notepad ++语法高亮显示