列表框中的Silverlight文本块未包装
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了列表框中的Silverlight文本块未包装相关的知识,希望对你有一定的参考价值。
我有一个数据绑定列表框,如下所示。我想要包含数据的文本块。我无法做到。
这里有什么问题?
这是我的代码:
<DataTemplate x:Key="policyLbTemplate">
<StackPanel>
<TextBlock Text="{Binding name}" FontWeight="Bold"/>
<TextBlock Text="{Binding description}" TextWrapping="Wrap" />
</StackPanel>
</DataTemplate>
<ListBox VerticalAlignment="Stretch" HorizontalAlignment="Stretch" ItemsSource="{Binding Policies}"
ItemTemplate="{StaticResource policyLbTemplate}"
HorizontalContentAlignment="Stretch" />
答案
这很可能是因为没有任何限制TextBlock的宽度,因此它在屏幕外增长。是否出现水平滚动条?
请参阅以下相关问题并尝试所述解决方案:
WP7 TextBlock inside a ListBox not wrapping text
Force TextBlock to wrap in WPF ListBox
windows phone 7 TextBlock TextWrapping not honored in listbox
http://social.msdn.microsoft.com/forums/en-US/wpf/thread/37236ac6-05c3-4acc-baca-abc871ba64e0
另一答案
你需要在列表框中添加一个属性:ScrollViewer.HorizontalScrollBarVisibility="Disabled"
,然后文本将换行(否则它会在屏幕外增长)。我已经在下面的代码中完成了它,它对我来说很好。
<ListBox Name="lstbIcons" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch"
VerticalAlignment="Stretch" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding UserActionName}" FontWeight="Bold"/>
<TextBlock Text="{Binding Description}" TextWrapping="Wrap" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
以上是关于列表框中的Silverlight文本块未包装的主要内容,如果未能解决你的问题,请参考以下文章