Silverlight XML 编辑器/语法高亮
Posted
技术标签:
【中文标题】Silverlight XML 编辑器/语法高亮【英文标题】:Silverlight XML editor / syntax highlighting 【发布时间】:2010-09-29 12:59:24 【问题描述】:我正在寻找一个 Silverlight 文本编辑器控件,它提供 XML 语法突出显示。我在 Winforms 或 WPF 中找到了一些答案,例如 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 编辑器/语法高亮的主要内容,如果未能解决你的问题,请参考以下文章