gpt4 book ai didi

c# - WPF RichTextBox 自动换行

转载 作者:行者123 更新时间:2023-11-30 20:53:54 25 4
gpt4 key购买 nike

我试图在 WPF RichTextBox 控件中显示大量数据。我的数据包含空格字符。有一个默认的自动换行行为,不允许将“单词”拆分并显示在更多行上。

此行为是由空格字符、问号、句号或任何其他句子/单词分隔符触发的。在下面的示例中,如果您将空格字符替换为字母 ( ex: "X"),所有内容都会按预期显示。由于没有找到定界符,允许将大“字”截断并分多行显示。

有没有办法禁用这种单词/句子环绕行为?

这是 XAML 代码:

<Window x:Class="StackOverQuestion_TextBoxWrap.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="535">
<Grid>
<RichTextBox Name="RichTextBox" />
</Grid>
</Window>

这是背后的cs代码:

 public MainWindow()
{
InitializeComponent();

Random rnd = new Random();

RichTextBox.FontFamily = new System.Windows.Media.FontFamily( "Lucida Console" );

Paragraph par = new Paragraph();
for ( int i = 0 ; i < 6000 ; i++ )
{
Run run = new Run();
run.Text = rnd.NextDouble().ToString() + " " ;

par.Inlines.Add( run );
}
RichTextBox.Document.Blocks.Add( par );
}

不需要的环绕行为:(请注意线条的不同长度)

0.562230281327958 0.269015421750497 0.130114109315963 0.527640242375266 0.592048898149305
0.73868335026255 0.478530279117883 0.939313878276997 0.890535918479104 0.00047110533363703
0.546423877378192 0.780972927241108 0.697112546626997 0.66897076306351 0.634957212319112
0.498651245375467 0.808829494662969

期望的环绕行为:(请注意相同长度的行)

0.562230281327958 0.269015421750497 0.130114109315963 0.527640242375266 0.592048898149305
0.73868335026255 0.478530279117883 0.939313878276997 0.890535918479104 0.0004711053336370
3 0.546423877378192 0.780972927241108 0.697112546626997 0.66897076306351 0.63495721231911
2 0.498651245375467 0.808829494662969

最佳答案

根据 MSDN 中的文档,我认为您需要在 RichTextBox 控件中禁用自动换行,它始终处于启用状态。 :

Text always wraps in a RichTextBox. If you do not want text to wrap then set the PageWidth on the FlowDocument to be larger than the width of the RichTextBox. However, once the page width is reached the text still wraps.

没有明确的属性来禁用它,你可以这样做:

richTextBox1.HorizontalScrollBarVisibility = ScrollBarVisibility.Visible;
richTextBox1.Document.PageWidth = 1000;

按照建议here .

关于c# - WPF RichTextBox 自动换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19589663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com