我将代码示例从RichTextBox帮助复制到一个空的WPF窗口,如下所示:
<Window x:Class="RichTextBoxWidthProblem.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow">
<Grid>
<RichTextBox>
<FlowDocument>
<Paragraph>
This is flow content and you can
<Bold>edit me!</Bold>
</Paragraph>
</FlowDocument>
</RichTextBox>
</Grid>
</Window>
结果看起来相当奇怪:
为什么每行只写了一个字符,我如何解决这个问题?
发布于 2021-05-20 03:55:15
在花了一天时间试图找出这个问题的原因之后,我运行了这个应用程序,结果如下所示:
文本使用所有可用空间,并在窗口大小更改时重新格式化。这基本上意味着我的代码没有真正的问题,但是Visual中的WPF设计器没有问题。经过进一步的调查,我发现在设计师中,段落只有零像素宽。
如果您也想在设计器中看到一个合理的显示,给窗口、网格或RichTextBox一个宽度。但是,当然,文本将不再使用所有可用的空间,而只使用您定义的宽度,这可能不是您想要的。如果只希望设计器使用宽度,而不希望在运行时使用,请在宽度之前添加'd:‘:
<Window x:Class="RichTextBoxWidthProblem.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Title="MainWindow" d:Width="333">
请先阅读此内容,然后再将其标记为重复的
我做了一个不幸的经历,一个问题往往被标记为重复,而实际上并非如此。我知道有几个关于FlowDocument不使用可用宽度的问题,但请注意,大多数建议设置ColumnWidth或其他宽度,这实际上将在设计器中正确显示,但运行中的应用程序将限制在该宽度,这可能相当烦人(当窗口变大时不调整FlowDocument大小)。
因此,重要的是,一个答案是关于堆栈溢出,解释说,在这种情况下,它只是一个设计问题,而不是一个真正的宽度问题。
https://stackoverflow.com/questions/67613755
复制相似问题