1

私は以下を持っていXAMLますmy Windows Phone app

<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>

現在、2番目のTextBlock(DescriptionBlock)のマージンを静的な値に設定しています。TextBlockこれで、最初の( )のワークラッピングがにNameBlock設定されているため"Wrap"、の高さTextBlockは可変です。

DescriptionBlockのトップマージンをの自動高さと等しくする方法を知っている人はいますNameBlockか?NameBlockこれにより、のテキストの長さに関係なく、2番目のDescriptionBlockがのすぐ下に表示されますNameBlock

どうもありがとう!ブレット

4

1 に答える 1

1

これがパネルの目的です。スタックパネルで2つのテキストブロックをラップすると、テキストブロックが上下にスタックされます。

    <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>

通常、子を1つ保持するパネルは役に立たないため、グリッドの周りのスタックパネルを削除しました。

引き続き使用Gridする場合は、自動的にサイズ変更するための行を定義できます。

于 2012-05-28T19:57:07.353 に答える