Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winforms、ASP.NET和WPF的语法突出显示文本框_Asp.net_Wpf_Winforms_Syntax Highlighting_Components - Fatal编程技术网

Winforms、ASP.NET和WPF的语法突出显示文本框

Winforms、ASP.NET和WPF的语法突出显示文本框,asp.net,wpf,winforms,syntax-highlighting,components,Asp.net,Wpf,Winforms,Syntax Highlighting,Components,我正在寻找一个语法突出显示文本框组件,最好是免费的,有源代码,并且能够在Winforms、ASP.NET和WPF中使用。此外,它不仅应该支持显示,还应该支持编辑内容 我发现了优秀的、免费的,但不幸的是,这只适用于ASP.NET,它只以语法突出显示的方式显示文本,没有编辑功能 我还知道ICSharp文本编辑器组件,它是的一部分,但它是一个独立的、但仅限于Winforms的解决方案 有谁知道有一个组件有一个核心来处理语法突出显示(可配置,因此我可以将其用于C#代码、XML和HTML文件等),并且有三

我正在寻找一个语法突出显示文本框组件,最好是免费的,有源代码,并且能够在Winforms、ASP.NET和WPF中使用。此外,它不仅应该支持显示,还应该支持编辑内容

我发现了优秀的、免费的,但不幸的是,这只适用于ASP.NET,它只以语法突出显示的方式显示文本,没有编辑功能

我还知道
ICSharp文本编辑器
组件,它是的一部分,但它是一个独立的、但仅限于Winforms的解决方案

有谁知道有一个组件有一个核心来处理语法突出显示(可配置,因此我可以将其用于C#代码、XML和HTML文件等),并且有三个用于Winforms、ASP.NET和WPF的“皮肤”?我真的更希望有一个做繁重工作的核心,三个UI在上面共享核心代码


欢迎任何指点和提示

所有这些平台都完全不同,每个平台都有自己的渲染显示方法。因此,不会有任何通用控件来完成所有任务。每个平台将有一个单独的控制


但是,可以实现web控件并在页面中使用它。然后winforms或wpf中的浏览器对象可以使用页面地址来显示它

我同意marc:我希望看到一个可扩展的语法突出显示框架,它可以生成一个标记化的“文档”对象,然后可以通过每个显示框架的控件来显示它。这样,解析器/标记器就可以编写一次

<> P>我可以说,这是在为WPF控件的语法高亮工作。

也许考虑Web的项目。显然,这不会像您所要求的那样适用于WPF,但它适用于任何web框架—Webforms、ASP.NETMVC、纯HTML、PHP和其他

CodeMirror是一个JavaScript库,可用于为类似代码的内容(计算机程序、HTML标记等)创建一个相对舒适的编辑器界面。如果为您正在编辑的语言编写了解析器(请参阅下面支持的语言列表),代码将被着色,编辑器将帮助您进行缩进

解析程序用于:

  • JavaScript
  • XML/HTML
  • CSS
  • HTML混合模式
  • SPARQL
  • HTML+PHP混合模式
  • 蟒蛇
  • 卢阿
  • 红宝石
  • SQL
  • PLSQL
  • 差异
  • 棒极了
  • C#
  • 计划
  • 爪哇
  • XQuery
  • 奥梅塔
  • 自由标记
实施:

<textarea  rows="30" cols="120" id="someCode" >
    //some comments
    var foo = "bar";
</textarea>

//一些评论
var foo=“bar”;
包括2.js引用,然后这段JavaScript用新语法突出显示的元素替换textarea元素

<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>

var textarea=document.getElementById('someCode');
变量编辑器=新的镜像框(CodeMirror.replace(textarea)){
高度:“350px”,
内容:textarea.value,
parserfile:[“tokenizejavascript.js”,“parsejavascript.js”],
样式表:“css/jscolors.css”,
路径:“js/”,
自动排列:对
});

也考虑了

哦,我完全理解渲染部分对于所有人来说都是不一样的,但是所有其他的东西,比如规则,哪些部分用什么颜色来强调,以及检测关键词等等,都可以共享。