我有一个包含两个Runs
的RichTextBox
:
<RichTextBox>
<RichTextBox.Document>
<FlowDocument>
<FlowDocument.Blocks>
<Paragraph Name="par">
<Run Text="First"/>
<Run Text="Second"/>
</Paragraph>
</FlowDocument.Blocks>
</FlowDocument>
</RichTextBox.Document>
</RichTextBox>
当我遍历
par
的Inlines
时,我看到三个Runs
:“First”、“ ”(空格)和“Second”。这很正常。但是,如果我删除第二个“ ”Run
(例如使用Backspace键),然后遍历par
的Inlines
,我只看到一个“ FirstSecond ”Run
。RichTextBox
将两个剩余的Runs
合并为单个Run
。但是,如果“First”和“Second”Runs
具有不同的TextFont
或TextWeight
值,RichTextBox
将不会合并它们,我会看到两个不同的Runs
:“First”和“Second”。现在我的问题是:如何保留相邻的
Runs
不被RichTextBox
自动合并?我想要类似于当
Runs
具有不同的TextFont
或TextWeight
值时的行为,但视觉上它们的格式应该相等。我尝试为不同的Runs
设置不同的Tag
值,但没有帮助。也许,有一些“逻辑”格式,它不影响Runs
的外观,但警告RichTextBox区分它们。