在 RichtextBox WPF 中设置文本格式

发布于 2024-10-03 15:33:24 字数 228 浏览 3 评论 0原文

我尝试在 richTextBox 中格式化文本,就像在 Skype 聊天中一样。

1.column-"Nick"         2.column-"Text of Messange"                3.column-"DateTime" 

我想要所有 1. 列最大左侧和 3. 列最大右侧。

我该怎么做最好的方法是什么?我正在使用 WPF。

I try formatting text in richTextBox, something like in skype chat.

1.column-"Nick"         2.column-"Text of Messange"                3.column-"DateTime" 

I want alling 1. column max left and 3. column max right.

What is the best way how can I do it? I am using WPF.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

合约呢 2024-10-10 15:33:24

我的解决方案:

简单的解决方案是创建 Table 对象并添加到 richtextbox 块中,如下所示:

        var tab = new Table();

        var gridLenghtConvertor = new GridLengthConverter();

        tab.Columns.Add(new TableColumn() { Name = "colNick", Width = (GridLength)gridLenghtConvertor.ConvertFromString("*") });
        tab.Columns.Add(new TableColumn { Name = "colMsg", Width = (GridLength)gridLenghtConvertor.ConvertFromString("5*") });
        tab.Columns.Add(new TableColumn() { Name = "colDt", Width = (GridLength)gridLenghtConvertor.ConvertFromString("*") });

        tab.RowGroups.Add(new TableRowGroup());
        tab.RowGroups[0].Rows.Add(new TableRow());

        var tabRow = tab.RowGroups[0].Rows[0];


        tabRow.Cells.Add(new TableCell(new Paragraph(new Run(rpMsg.Nick))) { TextAlignment = TextAlignment.Left });

        tabRow.Cells.Add(new TableCell(ConvertToRpWithEmoticons(rpMsg.RpText)));

        tabRow.Cells.Add(new TableCell(new Paragraph(new Run("Cas"))) { TextAlignment = TextAlignment.Right });

        RtbConversation.Document.Blocks.Add(tab);

My solution:

Simple solution is create Table object and add to blocks of richtextbox, somothing like this:

        var tab = new Table();

        var gridLenghtConvertor = new GridLengthConverter();

        tab.Columns.Add(new TableColumn() { Name = "colNick", Width = (GridLength)gridLenghtConvertor.ConvertFromString("*") });
        tab.Columns.Add(new TableColumn { Name = "colMsg", Width = (GridLength)gridLenghtConvertor.ConvertFromString("5*") });
        tab.Columns.Add(new TableColumn() { Name = "colDt", Width = (GridLength)gridLenghtConvertor.ConvertFromString("*") });

        tab.RowGroups.Add(new TableRowGroup());
        tab.RowGroups[0].Rows.Add(new TableRow());

        var tabRow = tab.RowGroups[0].Rows[0];


        tabRow.Cells.Add(new TableCell(new Paragraph(new Run(rpMsg.Nick))) { TextAlignment = TextAlignment.Left });

        tabRow.Cells.Add(new TableCell(ConvertToRpWithEmoticons(rpMsg.RpText)));

        tabRow.Cells.Add(new TableCell(new Paragraph(new Run("Cas"))) { TextAlignment = TextAlignment.Right });

        RtbConversation.Document.Blocks.Add(tab);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文