列表框中的Silverlight文本块未包装

时间:2011-08-16 05:00:56

标签: silverlight textbox listbox

我有一个数据绑定列表框,如下所示。我想要包含数据的文本块。我无法做到。

这里有什么问题?

这是我的代码:

    <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" />

2 个答案:

答案 0 :(得分:5)

您需要在列表框中添加一个属性: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>

答案 1 :(得分:2)

这很可能是因为没有任何限制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