jak*_*ake 1 textblock windows-phone-7
我试图将最终用户许可协议(EULA)放入WP7 silverlight文本块控件.但是,它一直在截断我的文字.为什么会这样?WP7 silverlight文本块可以容纳的文字大小或字符数有限制吗?
下面是我在xaml方面所做的一个例子(其余的xaml周围是自动生成的默认值).
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<ScrollViewer>
<TextBlock x:Name="tbMsg" TextWrapping="Wrap"/>
</ScrollViewer>
</Grid>
Run Code Online (Sandbox Code Playgroud)
我也试过使用TextBox,但现在,我甚至无法在TextBox中滚动.我已经明确地将VerticalScrollBarVisibility设置为Visible,但我仍然无法向下滚动TextBox.事实上,我甚至没有看到垂直滚动条.我不知道这个观察是否因为我仍在通过模拟器查看UI.
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<TextBox x:Name="tbMsg" TextWrapping="Wrap" VerticalScrollBarVisibility="Visible"/>
</Grid>
Run Code Online (Sandbox Code Playgroud)
否UIElement可以在任一方向(高度或宽度)大于2048个像素.将不显示超出此区域的任何内容.但是,可视树中保留了该内容所在的空间.
解决此问题的方法是使用多个元素来显示大量文本.
更新
我已经编写了自己的解析器,用于动态显示此类内容.理想情况下,虽然您不会在运行时使用大块文本.当文本包含链接(到其他页面,Web内容或电子邮件发射器)时,这可能会更复杂.
当想要显示EULA或任何大块文本时,您不希望用户轻松阅读和导航.毕竟,您要包含文本,因为您希望用户阅读它.
如果你在设计时有文字,你应该抓住机会确保它的布局合适,并为不同的部分使用单独的TextBlocks,并且样式标题和小标题可以帮助你做到这一点.