Я столкнулся с подобной проблемой при работе с 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();
}
Я предполагаю, что это может дать вам идею, чтобы решить вашу проблему