有人知道如何禁用RichTextBox
的文本换行功能吗?例如,如果我有一个不适合窗口的大字符串,RichTextBox
会将字符串中不能显示的部分放在新的一行中。我想禁用它(并且只通过使用Scrollbar
使它可见)。
非常感谢。
干杯
发布于 2015-10-13 05:28:09
如果您不想显示水平滚动条,请在ScrollViewer上强制使用MinWidth:
<RichTextBox ScrollViewer.HorizontalScrollBarVisibility="Hidden">
<RichTextBox.Resources>
<Style TargetType="ScrollViewer">
<Setter Property="MinWidth" Value="2000" />
</Style>
</RichTextBox.Resources>
</RichTextBox>
发布于 2020-02-20 04:04:52
由于没有令我满意的答案,下面是我的解决方案:
private void RichTxt_TextChanged(object sender, TextChangedEventArgs e)
{
string text = new TextRange(richTxt.Document.ContentStart, richTxt.Document.ContentEnd).Text;
FormattedText ft = new FormattedText(text, System.Globalization.CultureInfo.CurrentCulture, FlowDirection.LeftToRight, new Typeface(richTxt.FontFamily, richTxt.FontStyle, richTxt.FontWeight, richTxt.FontStretch), richTxt.FontSize, Brushes.Black);
richTxt.Document.PageWidth = ft.Width + 12;
richTxt.HorizontalScrollBarVisibility = (richTxt.Width < ft.Width + 12) ? ScrollBarVisibility.Visible : ScrollBarVisibility.Hidden;
}
问题是取决于文本长度和刷新频率的性能。
发布于 2011-03-17 04:04:32
我还需要显示一个大字符串,并尝试使用RichTextBox,但我不喜欢将文档的PageWidth设置为固定大小的解决方案。滚动条将一直可见,并且滚动区域太大。
如果TextBlock足够了,您可以使用它并将其放在ScrollViewer中。它对我来说是完美的,因为我不需要RichTextBox的所有额外功能。
<ScrollViewer Width="200"
Height="100"
HorizontalScrollBarVisibility="Auto"
VerticalScrollBarVisibility="Auto">
<TextBlock TextWrapping="NoWrap">
<TextBlock.Text>
Very long text Very long text Very long text
</TextBlock.Text>
</TextBlock>
</ScrollViewer>
https://stackoverflow.com/questions/1368047
复制相似问题