我有一个带有粗体文本的 RichTextBox,但是当用户输入分号时,需要以编程方式使粗体“结束” ;
。
例如,我的富文本框有以下粗体文本:
hello world
当我添加分号;
并继续输入时,我想要以下内容:
hello world;
how are you?
我已经尝试了一些类似的东西:
var newRun = new Run();
paragraph.Inlines.InsertAfter(paragraph.Inlines.LastInline, newRun);
CaretPosition = newRun.ElementEnd;
但新创建的运行似乎不是我正在输入的运行(我不知道它是否不存在,或者我只是没有输入)。
有人知道解决这个问题的好方法吗?
更新:使用默认文本运行。
我注意到,如果我创建一个运行:
var newRun = new Run(" ")
那么它会起作用,但在某些情况下我宁愿不添加空格。有什么见解吗?