需要在windows phone 7屏幕上显示大量的文本
我有大约800 KB的文本,我想要在屏幕上显示。有人可以让我知道可能的解决方案吗?需要在windows phone 7屏幕上显示大量的文本
由于2048X2048文本块的限制,我已经尝试将文本拆分为多个文本块,并尝试使用http://blogs.msdn.com/b/priozersk/archive/2010/09/08/creating-scrollable-textblock-for-wp7.aspx。这虽然适用于40到50 KB的数据,但不能扩展到800 KB的大小。
我也试过使用Listbox(如下面的帖子中提到的第一个soluion)。 wp7 - TextBlock with a lot of text - huge memory usage - how to avoid it?
这个(下面显示的)也可以工作到80-100KB,之后需要太长时间才能加载文本。
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<ListBox x:Name="myListBox" Width="468" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<toolkit:WrapPanel />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock FontSize="20" Text="{Binding}" TextWrapping="Wrap" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
在Overflow7我用文字列表框的方法 - 但我同意它可能需要很长的时间,有时加载。
在Iron7中,我使用WebBrowser控件中显示的HTML页面。其他
一个建议是,如果你有大量的文字,那么你可以看看如何点燃显示文本 - What's the control used in Kindle for Windows Phone 7
我知道这是一个老问题,但是我想补充一个解决方案。
要完成我的任务我都封装在“分裂”成逻辑产生的输出字符串列表的单独的类。然后,您可以将该列表绑定到您最喜欢的ListBox控件,并且瞧,你有一个巨大的文本块。分离逻辑已经针对性能进行了优化,因此您可以通过Alex获得比ScrollableTextBlock更好的处理时间。此外,由于您可以将列表绑定到任何支持虚拟化的ListBox控件,因此您将拥有更保守的内存占用空间。
为了感觉到向用户显示巨大文本并不是一个好主意,我已经开始向用户显示一定数量的textBlocks(在本例中为50)。当用户在50个文本块之后按下某个按钮时,下一个50个文本块将会更新相同的页面。虽然不是最好的解决方案,但我对此很满意 – abnvp 2011-03-28 16:54:22