Windows Phone SDK – XAML – 上边距的自动保证金

我的my Windows Phone app有以下XAML

 <StackPanel Orientation="Horizontal"> <Grid x:Name="LayoutRoot"> <Image Source="{Binding ImageUrl}" Height="80" HorizontalAlignment="Left" Margin="10,10,0,0" Stretch="Fill" VerticalAlignment="Top" Width="93" /> <TextBlock name="NameBlock" Text="{Binding Name}" FontSize="30" Margin="150,20,0,0" TextWrapping="Wrap" HorizontalAlignment="Left" VerticalAlignment="Top" Width="300" /> <TextBlock name="DescriptionBlock" Text="{Binding Description}" FontSize="25" Margin="150,150,0,0" TextWrapping="Wrap" HorizontalAlignment="Left" VerticalAlignment="Top" Width="300" /> </Grid> </StackPanel> 

目前,我有第二个TextBlock( DescriptionBlock )的边缘设置为一个静态值。 现在,因为我将第一个TextBlockNameBlock )的工作包装设置为"Wrap" ,所以TextBlock的高度是可变的。

有谁知道如何使DescriptionBlock的顶部边缘等于NameBlock的自动高度? 这将确保第二个DescriptionBlock出现在NameBlock正下方,而不pipeNameBlock的文本的长度NameBlock

非常感谢! 布雷特

这是面板的用途。 将两个文本块包装在堆叠面板中,并将文本块堆叠在一起。

  <Grid x:Name="LayoutRoot"> <Image Source="{Binding ImageUrl}" Height="80" HorizontalAlignment="Left" Margin="10,10,0,0" Stretch="Fill" VerticalAlignment="Top" Width="93" /> <StackPanel Margin="150,20,0,0" Width="300"> <TextBlock name="NameBlock" Text="{Binding Name}" FontSize="30" TextWrapping="Wrap" HorizontalAlignment="Left" /> <TextBlock name="DescriptionBlock" Text="{Binding Description}" FontSize="25" TextWrapping="Wrap" HorizontalAlignment="Left" /> </StackPanel> </Grid> 

拿着一个孩子的面板通常是没有用的,所以我把网格上的堆叠面板去掉了。

如果你想继续使用Grid你可以定义行来自动调整大小。