【问题标题】:FatalExecutionEngineError in RichTextBoxRichTextBox 中的 FatalExecutionEngineError
【发布时间】:2017-05-07 18:28:43
【问题描述】:

有时,只是有时,我在尝试从 RichTextBox 中的鼠标位置获取文本位置时遇到 FatalExecutionEngineError。第二个问题是我无法处理 FatalExecutionEngineError 并导致应用程序崩溃。

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

【问题讨论】:

    标签: wpf exception-handling richtextbox fatal-error


    【解决方案1】:

    我在使用 RichTextFormat 时遇到了类似的问题,也许我的经验也可以帮到你。

    当用户在富文本编辑控件中调用撤消操作时,我遇到了上述异常。如果先前已执行特定操作,包括将单独创建的 FlowDocument 的内容插入 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();
    }
    

    我想这可能会给你解决问题的想法

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-05
      • 1970-01-01
      • 1970-01-01
      • 2020-05-17
      相关资源
      最近更新 更多