私の Windows フォーム アプリケーションは、フォームの 1 つで AvalonEdit (問題の複合 WPF コントロール) をホストし、テキスト編集要件に対応します。私が使用するコードは次のとおりです。
WPFHost = gcnew ElementHost();
TextField = gcnew AvalonEdit::TextEditor();
WPFHost->Dock = DockStyle::Fill;
WPFHost->Child = TextField;
TextField->Options->AllowScrollBelowDocument = false;
TextField->Options->EnableEmailHyperlinks = false;
TextField->Options->EnableHyperlinks = true;
TextField->Options->RequireControlModifierForHyperlinkClick = true;
TextField->ShowLineNumbers = true;
ContainerControl->Controls->Add(WPFHost); // the container is a panel
スクロールバーを除いて、コードは正常にコンパイルおよび実行されます - http://dl.dropbox.com/u/2584752/avalonEditBug.png。バーの左側を右クリックすると、ArgumentOutOfRange 例外が発生します。
奇妙なことに、新しく作成したサンプル プロジェクトでコントロールをホストしようとしたときに、問題を再現できませんでした。テキスト エディターの最新ビルドを使用しており、必要なアセンブリがすべてインストールされています。
編集:エディターをユーザーコントロールにラップしても役に立ちません。