Silverlight TextBlock未在网格中换行

Silverlight TextBlock未在网格中换行,silverlight,windows-phone-7,xaml,Silverlight,Windows Phone 7,Xaml,我有以下XAML,用于显示一个图像和两个文本块,它们位于图像旁边的顶部: <StackPanel Orientation="Horizontal" > <Image Source="{Binding CoverArt}" Height="150" /> <StackPanel Orientation="Vertical"> <StackPanel> <TextBl

我有以下XAML,用于显示一个
图像
和两个
文本块
,它们位于图像旁边的顶部:

<StackPanel Orientation="Horizontal" >
    <Image Source="{Binding CoverArt}" Height="150" />
        <StackPanel Orientation="Vertical">
            <StackPanel>
                <TextBlock FontSize="30" Text="{Binding Title}" TextWrapping="Wrap" />
            </StackPanel>
            <Grid Width="auto">
                <TextBlock FontSize="22" Text="{Binding Summary}" TextWrapping="Wrap" />
            </Grid>
         </StackPanel>
</StackPanel>
<pre>
    <Grid Grid.Row="1">
        <Grid.ColumnDefinitions>
            <ColumnDefinition/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>
        <Ellipse Fill="red" Width="150" Height="150" />
        <StackPanel Grid.Column="1" Orientation="Vertical">
            <StackPanel>
                <TextBlock FontSize="30" Text="basdljhba dnaiks d., kasndca casn oiäc cas lkcnaso ca dxjwöbdq wkjöbdqw dkjwqb " TextWrapping="Wrap" />
            </StackPanel>
            <Grid Width="auto">
                <TextBlock FontSize="22" Text="dewdewdewdewdewewd" TextWrapping="Wrap" />
            </Grid>
        </StackPanel>
    </Grid>


我的问题是让文本换行。我曾尝试使用
网格
并指定列的宽度,但没有成功。也没有将宽度值设置为自动。唯一有效的方法是对宽度进行硬编码,但我不希望这样。谢谢。

Stackpanel会拉伸到其内容的大小,所以我不会使用它。使用网格,如下文所述:

快速比较: 使用stackpanel之前

使用一个网格后(您可能需要稍微重新排列元素)

最后一段的代码:



您是否尝试将列的宽度改为分数?width=“2*”这将为您提供一些没有像素集大小的边界。您需要以某种方式为容器设置约束。如果您有两列,且未设置大小,则每列将获得50%。2*将使该列占总列的2/3,见下面的示例


您是否尝试将列的宽度改为分数?width=“2*”这将为您提供一些没有像素集大小的边界。您需要以某种方式为容器设置约束。如果您有两列,且未设置大小,则每列将获得50%。2*将使该栏占整个栏的2/3。谢谢,这些图片和链接帮助我更好地理解:)没问题,在线解释问题(或解决方案)并不容易:)对根本问题的解释比我的要好得多。我现在就删除我的。谢谢你,艾里斯。