我的 Windows 窗体应用程序以其中一种形式托管 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 异常。
奇怪的是,当我尝试在新创建的示例项目中托管控件时,我无法重现该问题。'mI 使用最新版本的文本编辑器并安装了所有必需的程序集。
编辑:将编辑器包装在用户控件中也无济于事。