Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# RTB现在显示所有内容_C#_Wpf_Richtextbox_Flowdocument - Fatal编程技术网

C# RTB现在显示所有内容

C# RTB现在显示所有内容,c#,wpf,richtextbox,flowdocument,C#,Wpf,Richtextbox,Flowdocument,我有一个与flowDocument关联的wpf richtextbox。 假设流文档中的行数为1..60 richtextbox不够高,无法显示所有数字。 但这很好,因为我可以滚动鼠标滚轮。 问题在于,此过程滚动不够,如下图所示: 您可能会看到,这里它只到达第50行,而不是第60行。 这不是与其他元素重叠的问题 提前感谢您的帮助。 帕特里克 ---加--- 这是xaml <Grid Name="grdReport_RTF" Visibility="Hidden">

我有一个与flowDocument关联的wpf richtextbox。 假设流文档中的行数为1..60 richtextbox不够高,无法显示所有数字。

但这很好,因为我可以滚动鼠标滚轮。 问题在于,此过程滚动不够,如下图所示:

您可能会看到,这里它只到达第50行,而不是第60行。 这不是与其他元素重叠的问题

提前感谢您的帮助。 帕特里克

---加--- 这是xaml

    <Grid Name="grdReport_RTF" Visibility="Hidden">
        <RichTextBox x:Name="rtbReport_RTF" Margin="10"  BorderBrush="Gray" Background="White" Foreground="Black" IsEnabled="True" Padding="10" Style="{DynamicResource rtbStyleDocLocal}" />
    </Grid>
而且

    private FlowDocument AddLineToRtb(FlowDocument fdoc, string str, bool IsTitle, double lineHeight, double fontSize)
    {
        Paragraph par;
        var run = new Run(str);
        run.Foreground = Brushes.Black;
        if (!IsTitle)
            run.FontWeight = FontWeights.Normal;
        else
            run.FontWeight = FontWeights.Black;
        run.FontSize = fontSize;
        run.FontFamily = ffRtb;
        par = new Paragraph() { LineHeight = lineHeight, FontSize = fontSize };
        par.Inlines.Add(run);
        Application.Current.Dispatcher.Invoke((Action)(() => fdoc.Blocks.Add(par)));
        return fdoc;
    }
--加3-- 关于解决方案的更多线索: 如果通过向下滚动至最大值,读取文件包含数字1..60,则效果为:

[![enter code here][3]][3]
相反,如果我通过向下滚动到最大值来添加更多带有字母a…z的行,效果是:

[![enter code here][3]][3]


远远超过60岁!!!!但不是到z

您确认它没有将RTB拉伸到可见区域之外吗?最简单的检查方法就是在RTB上设置
Height=“200”
,查看滚动的工作原理

事实上,在你的屏幕截图中,我想我确实看到了一个1px的浅灰色边框,但没有穿过底部——这表明控件的实际底部已经被推到了看不见的地方。如果只是为了测试而给它
BorderBrush=“Red”
,效果会更容易确定


默认的XAML DWIM(实际上是“如果我想做错事,就按我的意思做”)布局可能是WPF中滚动问题的最常见原因

您是否确认它没有将RTB拉伸到可见区域之外?最简单的检查方法就是在RTB上设置
Height=“200”
,查看滚动的工作原理

事实上,在你的屏幕截图中,我想我确实看到了一个1px的浅灰色边框,但没有穿过底部——这表明控件的实际底部已经被推到了看不见的地方。如果只是为了测试而给它
BorderBrush=“Red”
,效果会更容易确定


默认的XAML DWIM(实际上是“如果我想做错事,就按我的意思做”)布局可能是WPF中滚动问题的最常见原因

你能分享XAML吗?当然!请看我的地址。谢谢,对我来说滚动很好。滚动到第60行??等一下,我刚意识到我忘记了流程文档部分。如何填充文本?能否共享XAML?当然!请看我的地址。谢谢,对我来说滚动很好。滚动到第60行??等一下,我刚意识到我忘记了流程文档部分。你是如何填充文本的?
[![enter code here][3]][3]