Сбой RichTextBox при вставке в него UIElement - PullRequest
4 голосов
/ 20 февраля 2012

Когда я вставляю UIElement в RichTextBox (например, Button в BlockUIContainer)。, я всегда получаю InvalidOperationException с надписью «Этот элемент TextNavigator No Scoping Text» при редактировании richtextbox (особенно выберите элементы, включая элементы UIE).

Сведения об исключении:

System.Windows.Documents.TextPointer.MoveToElementEdge (ElementEdge edge) System.Windows.Documents.TextPointer.System.Windows.Documents.ITextPointer.MoveToElementEdge (ElementEdge edge) System.Windows.Documents.TextPointerBase.GetFollowingNonMergeableInlineContentStart (ITextPointer position) System.Windows.Documents.TextSelection.get_PropertyPosition () System.Windows.Documents.TextSelection.GetCurrentValue (DependencyProperty formattingProperty)

«Этот TextNavigator» Нет текстового элемента Scoping。

Я нырнул в нее и обнаружил, что здесь было сгенерировано исключение:

internal void MoveToElementEdge(ElementEdge edge)
{
  ValidationHelper.VerifyElementEdge(edge, "edge");
  this.VerifyNotFrozen();
  this._tree.EmptyDeadPositionList();
  this.SyncToTreeGeneration();
  TextTreeTextElementNode scopingNode = this.GetScopingNode() as TextTreeTextElementNode;
  if (scopingNode == null)
  {
    throw new InvalidOperationException(SR.Get("NoScopingElement", new object[] { "This TextNavigator" }));
  }
  this.MoveToNode(this._tree, scopingNode, edge);
}

Кажется, проблема связана с TextTreeTextElementNode. Но я не могу больше отследить, потому что это слишком сложно для меня. Я предполагаю, что UIElement не может быть заключен в этот "TextTreeTextElementNode", и по этой причине возвращается ноль.

Я пытался выполнить поиск в Google, но не нашел никакой ценной информации, только обратная связь с Microsoft.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...