我通过XML解析从Server API获取Raw文本。我正在检查全文是否进入数组/列表,但是当它显示在textblock或richtextbox中的页面中时会被修剪。
这是包含我的richtextbox的列表框的XAML:
<ListBox Name="ListboxPolicy" Background="#FF5F113C" Opacity="0.93" Foreground="#FFF5E0EC" Margin="0,137,0,0">
<ListBox.ItemTemplate>
<DataTemplate >
<StackPanel>
<!--<TextBlock x:Name="PolicyText" TextAlignment="Justify" Text="{Binding policyDetailsData}" TextWrapping="Wrap" IsHitTestVisible="False"/>-->
<RichTextBox x:Name="BoxPolicies" IsHitTestVisible="False" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" SizeChanged="BoxPolicies_SizeChanged" >
<Paragraph FontSize="24" FontWeight="Bold" Foreground="#FFDABCD5">
<Run Text="{Binding Path=policyTitleData}" />
</Paragraph>
<Paragraph FontSize="20" TextAlignment="Justify" >
<Run Text="{Binding Path=policyDetailsData}" />
</Paragraph>
<Paragraph FontSize="20">
<Run Text="-----------------------------" />
</Paragraph>
</RichTextBox>
<!--<TextBlock x:Name="PolicyHeader" Text="{Binding policyTitleData}" TextWrapping="Wrap" IsHitTestVisible="False" Foreground="#FF13090E" FontWeight="Bold" FontSize="22"/>
<TextBlock x:Name="PolicyText" Text="{Binding policyDetailsData}" TextWrapping="Wrap" IsHitTestVisible="False" FontSize="20"/>-->
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
答案 0 :(得分:1)
StackPanel 的默认方向是垂直的,如果你没有将Height和Width设置为stackpanel,它会占用子元素(这里是RichTextBox)的高度和宽度。
要避免文本修剪,您需要将StackPanel Orientation设置为“水平”,将高度和宽度设置为RichtextBox
<StackPanel Orientation="Horizontal">
<RichTextBox x:Name="BoxPolicies" IsHitTestVisible="False" Height="400" Width="400" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch">
<FlowDocument >
<Paragraph FontSize="24" FontWeight="Bold" Foreground="Red">
<Run />
</Paragraph>
<Paragraph FontSize="20" TextAlignment="Justify" >
<Run />
</Paragraph>
</FlowDocument>
</RichTextBox>
</StackPanel>
答案 1 :(得分:0)
出于性能原因,可以在单个TextBlock中显示的文本数量有限。对我有用的是将文本分成段落,将每个文本放在一个单独的TextBlock中,并将所有文本添加到StackPanel。
中有一个已实施的解决方案