【发布时间】:2013-06-15 01:40:47
【问题描述】:
我已经为这个解决方案搜索了一段时间,所以现在我在这里发布。
现在我可以改变整个RichTextBox的前景色:
yourRichTextBox.Foreground = Brushes.Red;
我还可以更改用户用光标选择的某些文本的颜色:
if(!yourRichTextBox.Selection.IsEmpty){
yourRichTextBox.Selection.ApplyPropertyValue(TextElement.ForegroundProperty, Brushes.Red);
}
但我希望能够更改用户键入的下一个文本的颜色。
我有一个颜色选择器框,它返回用户希望文本所在的颜色。所以用户以普通黑色字体输入RichTextBox,然后他们会单击颜色选择器按钮,选择一种颜色,点击确定,然后他们输入的下一个内容将是该颜色。有没有办法做到这一点,还是我不走运?
我能想到的唯一方法是有一个缓冲区来捕获用户键入的每个字符,然后在每个键入的字母上设置前景属性,然后将其添加回RichTextBox,想法?
【问题讨论】:
-
我认为在这里找到的解决方案会起作用(没有测试过):stackoverflow.com/questions/1926264/… AppendText 函数已重载,可以使用附加的颜色属性调用
标签: c# wpf richtextbox rtf foreground