問題タブ [avalonedit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
4391 参照

c# - .Net 3.5 で ICSharpCode.AvalonEdit を使用していますか?

作成中の WPF アプリで SharpDevelop 4.0 プロジェクトの ICSharpCode.AvalonEdit.TextEditor コントロールを使用しようとしていますが、うまく動作しないようです。

リビジョン 4304 の svn://svnmirror.sharpdevelop.net/sharpdevelop/trunk/SharpDevelop/src/Libraries/AvalonEdit からソース コードのコピーをチェックアウトしました。次に、Visual Studio 2008 SP1 を使用してプロジェクトをビルドしました。エラー。

次に、空の新しい WPF プロジェクトを作成し、ビルド DLL をツールボックスに追加して、TextEditor コントロールをデフォルトの空のウィンドウにドロップしました。

ただし、プロジェクトを実行すると、フォームが完全に空白になります。キャレットなし、マウス カーソルはデフォルト ポインターのままで、ウィンドウはキーを押しても反応しません。

何か足りないのですか、それとも AvalonEdit が少し壊れているだけですか?

[編集: 私はそれが私の特定のセットアップに関連している可能性があると考え始めています. 64 ビットの Windows 7 RC を実行しています。それと何か関係があるのではないでしょうか?x86専用でビルドしてみましたが、違いはありませんでした.]

0 投票する
2 に答える
2585 参照

wpf - ドキュメントプロパティへのAvalonEditバインディングのWPFデバッグ

私は一日中座って、AvalonEditsDocumentプロパティへのバインドが機能しない理由を調べようとしています。AvalonEditは、SharpDevelopプロジェクトの一部である高度なWPFテキストエディターです(SharpDevelop v4 Miradorで使用される予定です)。

したがって、単純なプロジェクト(1つのTextEditor(ライブラリ内のAvalonEditsの実名)を設定し、1つのプロパティを持つ単純なクラスを作成した場合)Documentと、静的テキストを含むダミーオブジェクトを返すと、バインディングは完全に機能します。

ただし、実際のソリューションでは、SomeEditorオブジェクトのコレクションをTabControlにバインドしています。TabControlにはSomeEditor用のDataTemplateがあり、TextEditorオブジェクトがあります。

これは機能しません。私がこれまでに調査したこと:

  • TextEditorのDataContextは、SomeEditorの適切なインスタンスに設定されます
  • TextEditors Documentプロパティは、SomeEditor.Documentプロパティ以外のインスタンスに設定されています
  • そのバインディングに接続されているno-opコンバーターにブレークポイントを設定すると、Documentの正しい値が表示されます(コンバーターが使用されます!)
  • また、VisualTreeを掘り下げてTextEditorへの参照を取得し、GetBindingExpression(TextEditor.DocumentProperty)を呼び出しましたが、これは何も返しませんでした。

  • WPFは次の情報を生成します。

    System.Windows.Data情報:10:バインディングを使用して値を取得できず、有効なフォールバック値が存在しません。代わりにデフォルトを使用します。BindingExpression:Path = Document; DataItem ='SomeEditor'(HashCode = 26280264); ターゲット要素は'TextEditor'(Name ='avalonEdit');です。ターゲットプロパティは'Document'(タイプ'TextDocument')です

  • バインドされているSomeEditorインスタンスには、バインドが発生する前に、ドキュメントの作成およびキャッシュされたコピーがすでにあります。ゲッターが呼び出されることはありません。

誰が私に何が間違っているのか教えてもらえますか?BindingExpressionが設定されていないのはなぜですか?プロパティゲッターが呼び出されないのはなぜですか?

//編集:新しいテストと新しい結果

私はもう少し読んで、コードビハインドでバインディングを設定しました。私がそれをするとき、それは働きます。XAMLでこれを設定しても機能せず、コードで同じことを行うのはなぜですか?

// edit2:高レベルのデータソースとして使用される監視可能なコレクションにオブジェクトを追加した直後に呼び出された場合もコードは失敗します(xamlバインディングが起動するのはそう長くはありません)。それは私にこれがタイミングの問題であると思わせます。誰でもそれについて何かを言うことができますか?

// edit3:バインディングコード:

0 投票する
1 に答える
730 参照

c# - Sharpdevelop 3.x での AvalonEdit の使用

通常の ICSharpCode.TextEditor を Sharpdevelop 3.x の AvalonEdit に置き換えることができるかどうか知りたいです。率直に言って、AvalonEdit は ICSharpCode.TextEditor よりも優れているので、Sharpdevelop 3.x で AvalonEdit を使用する方が良いでしょう。

私は現在、Sharpdevelop 4 を使用する立場にありません。その新しいコード エディターを古い Sharpdevelop 3.x で使用できるとよいでしょう。

誰かがそれに光を当てることができますか?

前もって感謝します。

0 投票する
1 に答える
1408 参照

c# - AvalonEdit - 可視テキスト

avalonedit コントロールの可視テキストを取得しようとしましたが、wordwrapVisualLines[]のみを処理しTextLines[]、TextLine が可視領域にあるかどうかを確認する方法がわかりません。

テキストビューに表示されているテキストの開始および終了オフセット(または長さ)を取得できれば問題も解決しますが、そのような関数やメンバーが見つかりませんでした...

誰でも私を助けることができますか?どうも

0 投票する
1 に答える
644 参照

c# - AvalonEdit - ルールセットスパン

ある位置の単語が xshd-ruleset の Span[i] にあるかどうかを確認する方法は?

ありがとう!

0 投票する
1 に答える
2374 参照

avalonedit - AvalonEdit XSHD-Ruleset (tex 用)

AvalonEdit コントロールを使用していますが、xshd-ruleset (tex 用) に小さな問題があります。

元のファイルの「Mike Krueger による TeX ドキュメント 2001 の構文定義 (Jedit から収集)」には、特別なキーワードに関するセクションがあり、それらを正しく使用する方法を知りたいと思っています。

キーワードは青く色付けされてこれだけで処理されると思いますが、他のルールでもこれらのキーワードの一部を処理しています。例えば

したがって、テキストに「\%」がある場合、「\」を超えるものはすべて灰色になります...

'\' が前にある場合、そのキーワードが規則、例えば '$' と '%' を禁止する場合、それは非常に良いでしょう。

私がしなければならないこと?それとも、ルールセットを理解していませんでした...

編集

"\\" は、keyword1 エントリで処理されます。< MarkFollowing ... は "\\" には使用されませんが、< Span ... はまだ "\$" と "\%" の強調表示を行っています。

見つけた

しかし、それは機能していません。

EDIT2

新しい構文強調表示の定義では、問題は同じだと思います。tex の強調表示と c# の強調表示を比較しました。c# には次のようなものがあります。

私はsharpdevelopを使用していませんが、「」のような文字をエスケープしている場合、強調表示が失敗しないことは機能していると思います。したがって、私のファイルでは、次のように似ています

しかし、それは機能していません...エスケープ文字が < Rule > であるため、問題がある可能性がありますか?

0 投票する
3 に答える
8797 参照

c# - WPF AvalonEdit SQL xhsd リクエスト

インターネットを (何度も) 調べましたが、AvalonEdit の SQL.vshd ファイルが見つかりませんでした。古い形式のバージョンを使用しましたが、エディターのバグが発生します (まったく表示されなくなりました)。 、だから、誰かがそのようなファイルを作成したのではないかと思っています。既に作成されている場合、これを行うのに時間を無駄にしたくないからです。

あなたのことを私と共有していただければ幸いです:)

前もって感謝します

0 投票する
1 に答える
1759 参照

c# - ElementHost 内の WPF コントロールが表示されない

ICSharpCode.AvalonEdit.TextEditorElementHost 内の Winforms プロジェクトにWPF コントロール ( ) があります。

TextEditor が実際に ElementHost の子として設定されていること、およびそのすべてのプロパティが正しく設定されていることをデバッガーで確認しました。それは非表示であり、操作できません (IsVisible プロパティを false に設定したかのように)。

ElementHost が表示され、それを操作できますが、むしろ Child コントロールが表示されません。TextEditor の Visiblity および IsVisible プロパティが適切であることを確認しました。

私は実際に WPF アプリを作成したことがないので、WPF コントロールが見えないことを意味する可能性のある単純なものであっても、提案を試してみてください。ElementHost、コントロール自体、または特定の AvalonEdit 動作に関係している可能性があります。

助言がありますか?

0 投票する
2 に答える
1853 参照

c# - 正規表現内での XML 山括弧のエスケープ

私は ICSharp TextEditor コントロールを使用してきました。これは XML ファイルを使用して、C# 正規表現エンジンでさまざまな構文強調セクション (文字列、コメントなど) を処理します。

だから私はこの正規表現を使用してコード記号を一致させてきました(この質問から):

\b[A-G](?:add|maj|j|m|\+|b|\#|sus|\d|°)*(?:\b|(?<=\#))

問題は、< 記号が XML 構文の一部であるため、これを < に置き換えて次のようにすることです。

\b[A-G](?:add|maj|j|m|\+|b|\#|sus|\d|°)*(?:\b|(?&lt=\#))

問題は、これを行った後、無効な正規表現が原因でプログラムがクラッシュすることです。私はそれを絞り込みましたが、問題を引き起こしているのは間違いなく < です。

正規表現エンジンが使用できるようにしながら、 < 山括弧をエスケープする他の方法はありますか。

0 投票する
1 に答える
478 参照

c# - 外部コンストラクターを呼び出すとアプリケーションがハングする -- トラブルシューティングの手順は?

これはロングショットかもしれませんが、私にはアイデアがありません。

3 つのプロジェクトを含む VS C# ソリューションがあります。クラス ライブラリ プロジェクトと、そのクラス ライブラリに依存する 2 つのアプリケーション プロジェクトがあります。クラス ライブラリは、sharpdevelop プロジェクトの avalonedit dll を含むいくつかの他の DLL に依存しています。

アプリケーションの 1 つは、avalonedit コントロールをラップする独自のコントロールの使用を含め、正常にビルドおよび実行されています。他のアプリケーションが実行に失敗し、ラッピング コントロールで XAML を介して avalonedit コントロールが初期化される時点で失敗しているようです。

問題は、デバッグ出力にエラーがまったく表示されないことです。表示されるのは、dll がロードされたメッセージだけで、その後は何も表示されません。コントロールのコンストラクターにステップインすると、ステップが完了しません。デバッガーはアプリが実行中であることを示していますが、基になる編集コントロールが XAML 側によって構築されているときに、avalonedit dll のどこかで回転しているようです。

2 つのプロジェクトの環境の違いに問題があると想定する必要がありますが、問題の追跡をどのように進めるかについてはちょっと困惑しています。avalonedit のソースを中断できるように、どうにかして問題を解決する必要がありますか?

編集:すべてを一時停止/中断すると、コントロールコンストラクターを呼び出している行に戻ります。