C#WPF RichTextBox 怎么换行?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#WPF RichTextBox 怎么换行?相关的知识,希望对你有一定的参考价值。

C#WPF RichTextBox 怎么换行?
\n,\r\n,NewLine都试过不行。
每次换行都换成两行。
Hello【换行】

【继续输入。。。】

您好,是这样的:

Private Declare Function SendMessage1 Lib "user32" Alias "SendMessageA" _
(ByVal hWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long

Private Declare Function SendMessage2 Lib "user32" Alias "SendMessageA" _
(ByVal hWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Integer) As Long

'' ....

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Any) As Long
Any就是指你在调用SendMessage 函数时,lParam 参数既可以传int,也可以传long,short等等其它类型的参数
相当于你把上面的SendMessage1和SendMessage2 等等函数简化为只需要写一个SendMessage 就可以。
参考技术A

临时解决 后期根据自己的排版自己再控制其它Element

<Window x:Class="WpfApplication1.Window2"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window2" Height="300" Width="300" Loaded="window_loaded">
    <Grid>
        <RichTextBox Name="richtextbox" />
    </Grid>
</Window>

        private void window_loaded(object sender, RoutedEventArgs e) 
            System.Windows.Documents.Paragraph p = (System.Windows.Documents.Paragraph)this.richtextbox.Document.Blocks.ElementAt(0);
            p.Margin = new Thickness(0, 0, 0, 0);

        

WPF richtextbox问题

我用下面的方法进行显示文字
fd.Blocks.Add(new Paragraph(new Run("10120555555554444444788888888543968369863文本")));
this.richtextbox1.Document = fd;
文字可以正常显示出来,但是,不知道为什么每行文字之间还间隔多余的一行空格。

这个很简单的
<RichTextBox >
<FlowDocument LineHeight="1"> </FlowDocument></RichTextBox>
LineHeight="1" 即可消除你之前的间距,相反也可以通过改变数字,来调整间距! 希望采纳!纯手工!
参考技术A wpf 的 richTextBox 内部是个FlowDocument ,按下面这个办法设置试试。
<FlowDocument Name="mainDoc" LineHeight="5"/>追问

不行呀 没变化

追答

得,图片被屏蔽了。我这儿试验的结果是可以的。
fd.Blocks.Add(new Paragraph(new Run("10120555555554444444788888888543968369863文本")));
上面这行代码执行多次结果也能接受。楼主你会不会是在代码里另建了一个flowdocument?

以上是关于C#WPF RichTextBox 怎么换行?的主要内容,如果未能解决你的问题,请参考以下文章

WPF RichTextBox 插入换行 移动光标

WPF RichTextBox 禁止换行

在wpf中循环 实例化Run的内容添加进入Richtextbox,展示后如何让所有的run都不换行插入?

高分悬赏 C#WPF中怎么读取TXT文档并显示在RichtextBox里。

WPF中RichTextBox的定位问题。如何使光标定位到与指定关键字所在的位置?

WPF RichTextBox 附加彩色文本