我有一个带有2个TextBlock的ListBox:
<ListBox Name="TransactionList" Margin="25,0,12,12" Height="362" VerticalAlignment="Bottom" ScrollViewer.HorizontalScrollBarVisibility="Disabled" Grid.Row="1">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="0,0,0,20">
<TextBlock Text="{Binding Name}" TextWrapping="Wrap" Style="{StaticResource PhoneTextLargeStyle}" Height="146" />
<TextBlock Text="{Binding Description}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
当我运行应用程序时,TextBlocks不会换行;我该如何解决?
答案 0 :(得分:3)
将ListBox放在ScrollViewer中,并将列表框上的附加属性ScrollViewer.HorizontalScrollBarVisibility设置为disabled。然后文本将被包装在窗口大小适合的任何大小。
<ScrollViewer>
<ListBox HorizontalContentAlignment="Stretch" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<!-- Your ItemTemplate -->
</ListBox>
</ScrollViewer>
答案 1 :(得分:1)
文本块没有设置任何宽度。请设置为文本块(例如10),它应该可以正常工作。
答案 2 :(得分:0)
你希望它在什么时候包裹?您必须通过在Width
上设置TextBlock
来告诉它。您还可以限制Width
设置父级TextBlock
属性的Width
,但在您的情况下,将其设置在StackPanel
上不会产生此效果,因为它不会不要调整其内容。