有时,在某个时候,我会得到 fatalexecutionEngineError ,同时尝试从RichTextbox中的鼠标位置获得文本位置。第二个问题是我无法处理 fatalexecutionEngineError ,它崩溃了。
// e.MouseDevice.GetPosition(XAMLRichBox) is not null
var tp = myRichBox.GetPositionFromPoint(e.MouseDevice.GetPosition(XAMLRichBox), true);
在使用RichTextFormat时,我遇到了类似的问题,可能也可能对您有所帮助。
当用户在RichTextedit Control中调用撤消操作时,我遇到了上述例外。如果以前已经采取了特定的操作,将插件插入到careTposition中,则在撤消撤消方面被抛弃。
Document.ContentStart.InsertParagraphBreak();
RichTextBox.InsertDocument(Document, RichTextBox.CaretPosition);
我的解决方案是在beginChange()/endChange()(非常适合要求)中包围上述操作:
RichTextBox.BeginChange();
try
{
Document.ContentStart.InsertParagraphBreak();
RichTextBox.InsertDocument(Document, RichTextBox.CaretPosition);
}
finally
{
RichTextBox.EndChange();
}
我想这可能会给您解决问题的想法