Silverlight XML编辑器/语法高亮

8
我正在寻找一个 Silverlight 文本编辑器控件,它能提供 XML 语法高亮。我在 WinformsWPF 中找到了一些答案,例如 Stack Overflow上的这里,但是我无法将它们转换成 Silverlight。Silverlight 缺少 System.Drawing 可能是一个很大的问题。
我找到的唯一适用于 Silverlight 的文本编辑器是 CodePlex 上的 RichTextEdit,但我不认为它适合实时语法高亮的基础。
有人听说过这样的控件吗?或者可以提供如何构建此类控件的提示吗? 非常感谢,
Romain
4个回答

4

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

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

它可以在这里找到,并且被用在CoderProof网站上。


2
更新版本请查看:http://www.vladhorby.com/blog/post/2010/11/01/code-editor-control-with-syntax-highlighting-for-silverlight-available.aspx 。它现在支持各种语言(C#、VB.NET、XML等)。 - vladhorby

4

1

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

我不知道是否存在现成的控件。

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

WPF可能至少与System.Drawing一样强大,但我不熟悉它。

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

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

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


0

你好,感谢你的回答!

不幸的是,虽然WPF具有绘图功能,但Silverlight运行的CLR集合非常受限。绘制用户控件似乎是一个相当困难的任务。

然而,使用Silverlight富文本编辑器这个工具已经实现过了。我将尝试使用类似的技术来呈现XML文档。

不过,有一个问题:用户控件是否足够快,能够在用户进行更改时即时呈现DOM?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接