![]() |
1
1
我不知道这样一个预建的图书馆,但我确实有一些想法对你有帮助。 我想的第一个大问题是,当你可以使用richtextbox时,为什么要使用诸如markdown之类的原始元素。由于浏览器的限制,StackOverflow和类似网站需要降价。但如果你的应用是WPF,这不是问题。 关于为什么要这样做的一个猜测是,您希望您的文档在WPF和最低公分母的Web应用程序中都是可编辑的。在这种情况下,您将需要一个引擎来将标记呈现为HTML,那么为什么不利用同一个引擎将标记转换为XAML呢? 将任意HTML转换为XAML是非常困难的,但是将markdown转换器所吐出的HTML类型转换完全是另一回事。大多数标记样式的转换器只输出几个简单的HTML标记,所有这些标记都可以转换为等效的XAML。 如果使用markdown-to-html转换器,它将为您完成所有非常繁重的工作(解析文本等),并为您留下一个类似XML的文档(精确地说是HTML),这相对容易解析。另外,如果您在其他地方使用Markdown to HTML转换器,您将有信心Markdown解析器将解析您的Markdown语法,这对于HTML和XAML都是完全相同的,因为在每种情况下,它都是相同的解析器。 所以基本上我想的是:
在这里,您设计了markdownthmltoxamltranslator的实现,围绕着markdown引擎实际输出的内容。它可以是一个非常简单的XSLT,也可以将LINQ-to-XML与xdocument构造技术一起使用。不管怎样,它都应该是一小段代码。 |