首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用richtextbox作为聊天窗口,该窗口显示在WPF中存在文本自定义问题的文本

使用richtextbox作为聊天窗口,该窗口显示在WPF中存在文本自定义问题的文本
EN

Stack Overflow用户
提问于 2012-01-10 05:56:21
回答 3查看 3.1K关注 0票数 0

我正在制作一个WPF聊天信使,我已经使用C#富文本框来显示聊天,但我正在尝试自定义尼克和一些文本对齐,富文本框有文本是由附加文本使用代码,我不知道如何自定义它,我附上了更多的解释

我希望这个日期左对齐,并且昵称应该是蓝色的。我认为我们不能在富文本框中使用HTML文本,或者自定义文本的解决方案是什么,我应该使用一些标签,还是什么,请让我知道更好的解决方案。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-10 06:00:54

使用FlowDocument并在发送/接收每条消息时附加到文档内容(click for more info)可能会更好。

票数 2
EN

Stack Overflow用户

发布于 2012-01-10 14:23:31

我认为在代码中必须使用/b来表示粗体。因此,在本例中,您的代码将如下所示

代码语言:javascript
复制
rtextbox.Text = "/bHello/b";

如果起作用了,请告诉我。

编辑,因为第一个解决方案不起作用:

1选择要转换的文本:

代码语言:javascript
复制
rtb.select(Start , Length of string)

2创建具有正确属性的字体,并将其添加到所选内容中

代码语言:javascript
复制
rtb.Selectionfont = new Font(rtb.SelectionFont, FontStyle.Bold)
票数 0
EN

Stack Overflow用户

发布于 2012-01-17 14:01:52

每次创建一个新的跨度并添加它,而不是附加文本。

代码语言:javascript
复制
            Span nick = new Span();
            nick.Foreground = Brushes.Blue;

            Span date = new Span();
            date.FontWeight = FontWeights.Bold;

            Paragraph para = new Paragraph();
            para.Inlines.Add(nick);
            para.Inlines.Add(date);

            FlowDocument d = new FlowDocument();
            d.Blocks.Add(para);

            rtb.Document = d;

希望这能有所帮助。

致以敬意,

贾瓦哈

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8795738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档