我目前正在尝试在 WPF 项目中创建一些基本的文字处理器功能。我正在使用 RichTextBox 并且知道所有的 EditingCommands(ToggleBold、ToggleItalic...等)。我坚持的事情是允许用户更改字体大小和字体,就像在 MS Office 中一样,其中仅选定文本的值会更改,如果没有选定的文本,则当前插入符号位置的值将更改。我已经想出了相当多的代码来让它工作,但是我遇到了没有选择文本的问题。这是我为 RichTextBox.Selection 所做的。
TextSelection text = richTextBox.Selection;
if (text.IsEmpty)
{
//doing this will change the entire word that the current caret position
//is on which is not the desire/expected result.
text.ApplyPropertyValue(RichTextBox.FontSizeProperty, value);
}
else
//This works as expected.
text.ApplyPropertyValue(RichTextBox.FontSizeProperty, value);
所以我的问题是我应该怎么做呢?有没有更好/更方便的方法来做到这一点?我的一个想法是我需要在段落中插入一个新的内联,但我不知道该怎么做。任何帮助表示赞赏。谢谢你。