Silverlight XML编辑器/语法突出显示

时间:2009-01-04 23:33:37

标签: silverlight editor controls syntax-highlighting

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

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

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

罗曼

4 个答案:

答案 0 :(得分:4)

我终于找到了我正在寻找的控制! SL2TextBoxWsSynParser

编辑:此控件似乎不再更新,但新的语法高亮控件已浮出水面:

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

答案 1 :(得分:4)

Actipro Software为Winforms,WPF和Silverlight提供语法高亮显示组件:

http://www.actiprosoftware.com/

答案 2 :(得分:1)

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

我不知道现有的控件。

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

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

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

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

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

答案 3 :(得分:0)

嗨&谢谢你的回答!

不幸的是,虽然WPF具有绘图功能,但Silverlight运行的CLR非常有限。绘制用户控件看起来非常困难。

然而,之前已经完成了Rich text editor for Silverlight。我将看到我是否设法使用类似的技术来呈现XML文档。

但有一个问题是:当用户进行更改时,用户控制的速度是否足以快速呈现DOM?