C# silverlight for Windows Phone中的文本换行问题

C# silverlight for Windows Phone中的文本换行问题,c#,silverlight,windows-phone-7,listbox,word-wrap,C#,Silverlight,Windows Phone 7,Listbox,Word Wrap,我在为WindowsPhone7制作的应用程序的列表框中有一个twitter提要。我遇到的问题是,tweet的文本被从列表框的边缘切掉,而不是像下面这样换行: 列表框位于全景中,效果良好。这是我的代码: <ListBox x:Name="cheapyListBox" Height="500" HorizontalAlignment="Left" Margin="0,0,0,0" VerticalAlignment="Top" Width="400" ScrollViewer.Vertic

我在为WindowsPhone7制作的应用程序的列表框中有一个twitter提要。我遇到的问题是,tweet的文本被从列表框的边缘切掉,而不是像下面这样换行:

列表框位于全景中,效果良好。这是我的代码:

<ListBox x:Name="cheapyListBox" Height="500" HorizontalAlignment="Left" Margin="0,0,0,0" VerticalAlignment="Top" Width="400" ScrollViewer.VerticalScrollBarVisibility="Hidden" HorizontalContentAlignment="Left" >
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal" Height="132" Tap="Message_OnTap">
                <Image Source="{Binding ImageSource}" Height="73" Width="73" VerticalAlignment="Top" Margin="0,10,8,0"/>
                <StackPanel Width="Auto">
                    <!--<TextBlock Text="{Binding UserName}" FontSize="28" Margin="12,0,0,0" /> -->
                    <TextBlock Text="{Binding Message}" TextWrapping="Wrap" FontSize="24" />
                    <TextBlock Text="{Binding Date}" TextWrapping="Wrap" FontSize="20" />
                </StackPanel>
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
 </ListBox>


我怎样才能让tweet文本环绕而不是被切断?谢谢。

由于内部StackPanel嵌套在水平StackPanel中,因此没有深度限制,因此文本块会随着文本变长而无限扩展

有多种方法可以解决此问题,但一种简单的方法(如果您知道所需的宽度)是将内部StackPanel的宽度设置为有限数

例如:

<ListBox x:Name="cheapyListBox" Height="500" HorizontalAlignment="Left" Margin="0,0,0,0" VerticalAlignment="Top" Width="400" ScrollViewer.VerticalScrollBarVisibility="Hidden" HorizontalContentAlignment="Left" >

        <ListBox.ItemTemplate>
            <DataTemplate>
                <StackPanel Orientation="Horizontal" Height="132" Tap="Message_OnTap">
                    <Image Source="{Binding ImageSource}" Height="73" Width="73" VerticalAlignment="Top" Margin="0,10,8,0"/>
                    <StackPanel Width="400">
                        <!--<TextBlock Text="{Binding UserName}" FontSize="28" Margin="12,0,0,0" /> -->
                        <TextBlock Text="{Binding Message}" TextWrapping="Wrap" FontSize="24" />
                        <TextBlock Text="{Binding Date}" TextWrapping="Wrap" FontSize="20" />
                    </StackPanel>
                </StackPanel>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>

希望这有帮助