2016-12-22 7 views
0

Иногда, когда-то, я получаю FatalExecutionEngineError при попытке получить текстовое положение с позиции мыши в RichTextBox. И вторая проблема заключается в том, что я не могу обработать FatalExecutionEngineError, и это приведет к сбою приложения.FatalExecutionEngineError в RichTextBox

// e.MouseDevice.GetPosition(XAMLRichBox) is not null 
var tp = myRichBox.GetPositionFromPoint(e.MouseDevice.GetPosition(XAMLRichBox), true); 

ответ

1

Я столкнулся с подобной проблемой при работе с RichTextFormat, и, вероятно, мой опыт также может помочь вам.

Я столкнулся с вышеупомянутым исключением, когда пользователь вызывал действие «Отменить» в элементе управления richtextedit. Исключение было брошено на отмен, если есть конкретные действия были сделаны ранее, которые включали вставку в CaretPosition содержимое отдельно созданного FlowDocument:

Document.ContentStart.InsertParagraphBreak(); 
RichTextBox.InsertDocument(Document, RichTextBox.CaretPosition); 

Мое решение было огибающую выше действия в BeginChange()/EndChange() (который был отлично подходит требованиям):

RichTextBox.BeginChange(); 
try 
{ 
    Document.ContentStart.InsertParagraphBreak(); 
    RichTextBox.InsertDocument(Document, RichTextBox.CaretPosition); 
} 
finally 
{ 
    RichTextBox.EndChange(); 
} 

Я предполагаю, что это может дать вам идею, чтобы решить вашу проблему