12

構文を強調するTextboxコンポーネントを探しています。できれば無料で、ソースがあり、Winforms、ASP.NET、WPFで同様に使用できます。また、表示だけでなく、コンテンツの編集もサポートする必要があります。

ASP.NET用の優れた無料のActiProSyntaxHighlighterを発見しましたが、残念ながらASP.NETのみであり、テキストは構文が強調表示された方法でのみ表示され、編集機能はありません。

また、 SharpDevelopICSharp Text Editorの一部であるコンポーネントについても知っていますが、それはスタンドアロンですが、Winformsのみのソリューションです。

シンタックスハイライトを処理するコア(構成可能であるため、C#コード、XMLおよびHTMLファイルなどに使用できます)を持ち、Winforms、ASP.NETの3つの「スキン」を備えたコンポーネントを知っている人はいますか?とWPF?重労働を行う1つのコアと、そのコアコードを共有する3つのUIが本当に必要です。

どんなポインタやヒントも大歓迎です!

4

3 に答える 3

4

おそらく、Web 用のCodeMirrorアイテムを検討してください。明らかに、これはあなたが求めたように WPF では機能しませんが、Web フォーム、ASP.NET MVC、プレーン HTML、PHP など、あらゆる Web フレームワークで機能します。

CodeMirror は、コードのようなコンテンツ (コンピューター プログラム、HTML マークアップなど) 用の比較的快適なエディター インターフェイスを作成するために使用できる JavaScript ライブラリです。編集している言語用にパーサーが作成されている場合 (サポートされている言語のリストについては、以下を参照してください)、コードに色が付けられ、エディターがインデントを支援します。

のパーサー:

  • JavaScript
  • XML/HTML
  • CSS
  • HTML 混合モード
  • スパークル
  • HTML+PHP 混合モード
  • パイソン
  • ルア
  • ルビー
  • SQL
  • PLSQL
  • 差分
  • グルーヴィー
  • C#
  • 図式
  • ジャワ
  • XQuery
  • OmetaJS
  • フリーマーカー

実装:

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

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>

CodeMirror のマニュアルが役に立ちます

JavaScript ベースのソース コード エディターの比較の WikiPedia エントリも検討してください。

于 2010-11-28T04:48:04.337 に答える
2

これらのプラットフォームはすべて完全に異なり、それぞれに独自のレンダリング表示方法があります。したがって、すべてを行うユニバーサル コントロールはありません。各プラットフォームには個別のコントロールがあります

ただし、Web コントロールを実装してページで使用することはできます。次に、winforms または wpf のブラウザー オブジェクトは、ページ アドレスを使用して表示できます。

于 2009-02-18T01:39:17.087 に答える