【问题标题】:How to keep Run together after modification in WPF RichTextBoxWPF RichTextBox中修改后如何保持Run一起
【发布时间】:2020-07-26 20:45:02
【问题描述】:

我有以下ParagraphRichTextBox 中的代码创建:

Paragraph paragraph = new Paragraph(new Run("text1"));
paragraph.Inlines.Add(new Run("   TEST   "));

这是它在 XAML 中的外观:

<Paragraph><Run>text1</Run><Run>   TEST   </Run></Paragraph>

当我通过键入修改RichTextBox 中的文本时,它会创建一个新的运行而不是修改当前运行。

这就是 XAML 的样子:

<Paragraph><Run>text1</Run><Run>   TE</Run><Run xml:lang="en-us"> </Run><Run>ST   </Run></Paragraph>

我能否以某种方式设置行为保持在一起并修改当前的Run

【问题讨论】:

  • 这是默认行为。每个输入创建一个Run 元素。为什么需要将所有文本包含在单个 Run 中?无论如何,如果这是您真正想要的,您可以将完整的文本作为单个字符串。合并所有运行需要额外的工作。我敢肯定你不需要这个。

标签: wpf richtextbox flowdocument


【解决方案1】:

显然你可以把它们放在一起,你只需要设置Runlanguage属性:

Run run = new Run("   TEST   ") {  Language = XmlLanguage.GetLanguage("en-us") };
paragraph.Inlines.Add(run);

非常直观,我应该说......

通过使用它,实际运行被修改而不是被分割成碎片。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多