8

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

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

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

罗曼

4

4 回答 4

4

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

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

它可在此处获得,并在CoderProof网站上使用。

于 2009-02-05T04:51:38.477 回答
4

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

http://www.actiprosoftware.com/

于 2010-07-17T19:33:41.600 回答
1

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

我不知道现有的控件。

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

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

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

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

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

于 2009-01-07T05:37:22.787 回答
0

您好,感谢您的回答!

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

然而,它之前已经用这个Silverlight 富文本编辑器完成了。我将看看我是否设法使用类似的技术来呈现 XML 文档。

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

于 2009-01-19T00:15:46.060 回答