UWP TextBox最大行数限制?

时间:2017-06-17 19:21:31

标签: c# uwp windows-store-apps

当我将4兆字节的文本加载到TextBox中时,只有前11300行 显示。其余的都是空白的。但即使它是空白的 我仍然可以滚动它并可以选择文本。 当我将其粘贴到别处时,会出现文本。 只是文本没有显示过去的11300行。 有没有办法解决这个问题?

Here is how it looks

以下是我在xaml中声明它的方式:

   <RichEditBox 
            x:Name="ContentBox" 
            x:FieldModifier="public" 
            Grid.Row="0"
            KeyDown="Tb_KeyDown"
            GotFocus="Content_gotfocus"
            Loaded="Content_gotfocus"
            AcceptsReturn="True" 
            TextWrapping="NoWrap" 
            HorizontalAlignment="Stretch"
            VerticalAlignment="Stretch"
            IsSpellCheckEnabled="False"
            IsTextPredictionEnabled="False"
            TextReadingOrder="UseFlowDirection"
            FlowDirection="LeftToRight"
            TextAlignment="Left"
            >
        </RichEditBox>

OR

 <TextBox 
            x:Name="ContentBox" 
            x:FieldModifier="public" 
            Grid.Row="0"
            AcceptsReturn="True" 
            KeyDown="Tb_KeyDown"
            GotFocus="Content_gotfocus"
            HorizontalAlignment="Stretch"
            VerticalAlignment="Stretch"
            ScrollViewer.HorizontalScrollMode="Enabled"
            ScrollViewer.VerticalScrollMode="Enabled" 
            ScrollViewer.BringIntoViewOnFocusChange="True" 
            ScrollViewer.HorizontalScrollBarVisibility="Auto" 
            ScrollViewer.VerticalScrollBarVisibility="Auto" 
            TextWrapping="NoWrap" 
            IsSpellCheckEnabled="False"
            IsTextPredictionEnabled="False"
            Loaded="Content_gotfocus"

            TextReadingOrder="UseFlowDirection"
            FlowDirection="LeftToRight"
            TextAlignment="Left" LayoutUpdated="content_box_updated"
            />

1 个答案:

答案 0 :(得分:1)

我已经测试了您的代码并重现了您的问题。问题的原因是RichEditBoxTextBox都会使用ScrollViewer控件来滚动内容。但是可以在scrollview中使用最大内容的限制。它是为了保持控制性能而设计的。 如果要显示其余内容。您可以根据最大行号截取剩余内容,并在另一个RichEditBox/TextBox中显示剩余内容。