首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WPF RichTextBox在FlowDocument中显示文本,每行只有一个字符。

WPF RichTextBox在FlowDocument中显示文本,每行只有一个字符。
EN

Stack Overflow用户
提问于 2021-05-20 03:55:15
回答 1查看 290关注 0票数 2

我将代码示例从RichTextBox帮助复制到一个空的WPF窗口,如下所示:

代码语言:javascript
运行
复制
<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>

结果看起来相当奇怪:

为什么每行只写了一个字符,我如何解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-20 03:55:15

在花了一天时间试图找出这个问题的原因之后,我运行了这个应用程序,结果如下所示:

文本使用所有可用空间,并在窗口大小更改时重新格式化。这基本上意味着我的代码没有真正的问题,但是Visual中的WPF设计器没有问题。经过进一步的调查,我发现在设计师中,段落只有零像素宽。

如果您也想在设计器中看到一个合理的显示,给窗口、网格或RichTextBox一个宽度。但是,当然,文本将不再使用所有可用的空间,而只使用您定义的宽度,这可能不是您想要的。如果只希望设计器使用宽度,而不希望在运行时使用,请在宽度之前添加'd:‘:

代码语言:javascript
运行
复制
<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大小)。

因此,重要的是,一个答案是关于堆栈溢出,解释说,在这种情况下,它只是一个设计问题,而不是一个真正的宽度问题。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67613755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档