1

我有这个列表框,里面有 2 个文本块:

<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 不换行;我该如何解决?

4

3 回答 3

3

将 ListBox 放在 ScrollViewer 中,并将列表框上的附加属性 ScrollViewer.Horizo​​ntalScrollBarVisibility 设置为禁用。然后文本将以窗口大小的任何大小进行换行。

<ScrollViewer>
     <ListBox HorizontalContentAlignment="Stretch" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
        <!-- Your ItemTemplate -->
    </ListBox>
</ScrollViewer>
于 2014-04-09T12:14:54.990 回答
1

文本块没有设置任何宽度。请设置为文本块(比如 10),它应该可以正常工作。

于 2013-09-12T12:46:14.027 回答
0

您希望它在什么时候结束?您必须通过WidthTextBlock. 您还可以限制设置父属性的Width,尽管在您的情况下,将其设置在 上不会产生这种效果,因为它不会调整其内容的大小。TextBlockWidthStackPanel

于 2013-09-12T12:40:50.747 回答