也许考虑为Web使用
CodeMirror项目。显然,这对于您所要求的WPF不起作用,但它适用于任何Web框架-Webforms、ASP.NET MVC、纯HTML、PHP和其他。
CodeMirror是一个JavaScript库,可用于创建相对愉悦的代码编辑器界面-计算机程序、HTML标记和类似内容。如果已为您正在编辑的语言编写了解析器(有关支持的语言列表,请参见下文),则代码将被着色,并且编辑器将帮助您进行缩进。
以下是解析器:
JavaScript
XML/HTML
CSS
HTML混合模式
SPARQL
HTML+PHP混合模式
Python
Lua
Ruby
SQL
PLSQL
diff
Groovy
C#
Scheme
Java
XQuery
OmetaJS
Freemarker
实现:
<textarea rows="30" cols="120" id="someCode" >
//some comments
var foo = "bar";
</textarea>
你引用了2个.js文件,然后这段JavaScript代码将你的文本框元素替换为新的语法高亮元素。
<script type="text/javascript">
var textarea = document.getElementById('someCode');
var editor = new MirrorFrame(CodeMirror.replace(textarea), {
height: "350px",
content: textarea.value,
parserfile: ["tokenizejavascript.js", "parsejavascript.js"],
stylesheet: "css/jscolors.css",
path: "js/",
autoMatchParens: true
});
</script>
CodeMirror手册可以帮助你。
同时,考虑一下基于JavaScript的源代码编辑器比较的维基百科条目。