1

私は答えをたくさん探しましたが、見つけることができませんでした。
だから:私はWindows Phoneアプリ(7.1をターゲット)を作成しており、次のItemTemplateを持つListBoxを持っています

<ListBox.ItemTemplate>
    <DataTemplate>
        <Grid>
            <TextBlock x:Name="subjectName" Text="{Binding Path=name}" TextWrapping="Wrap" Foreground="White" FontSize="30" FontFamily="Segoe WP Semibold" Width="440" Height="99"/>
            <TextBlock x:Name="subjectCode" Text="{Binding Path=code}" FontSize="25" Width="107" HorizontalAlignment="Right" Margin="0,79,0,-12"/>
            <TextBlock x:Name="totalAbsences" Text="{Binding Path=absences}" FontSize="30" Width="107" HorizontalAlignment="Left" Margin="0,119,0,-65"/>
            <TextBlock x:Name="totalGrade" Text="{Binding Path=grades}" FontSize="30" Width="186" HorizontalAlignment="Right" Margin="0,119,0,-62" TextAlignment="Right"/>
            <Rectangle Fill="White" Height="3" Margin="0,0,0,-233" />
        </Grid>
    </DataTemplate>
</ListBox.ItemTemplate>

そして、これが起こります:

http://d.pr/i/liBK (ここにはまだ画像を投稿できません)

アイテムの高さが自動的に調整されるようにするにはどうすればよいでしょうか。

4

1 に答える 1

0

リストボックス内の各項目は Grid で囲まれているため、Grid.RowDefinitionsを指定し、Grid 内の各子に特定の行番号を割り当てることができます。

サンプル:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"></RowDefinition> <!-- Gets whatever height is necessary -->
        <RowDefinition Height="140"></RowDefinition> <!-- Specific Height -->
        <RowDefinition MaxHeight="*"></RowDefinition> <!-- Fills whatever space is left -->
    </Grid.RowDefinitions>
    <TextBlock x:Name="subjectName" Text="{Binding Path=name}" Grid.Row="0"/>
    <TextBlock x:Name="subjectCode" Text="{Binding Path=code}" Grid.Row="1"/>
    <TextBlock x:Name="totalAbsences" Text="{Binding Path=absences}" Grid.Row="2"/>
</Grid>

簡単にするために、コードの一部を使用し、余分なプロパティをいくつか削除しました。試してみて、何が機能するかを確認してください。

于 2013-09-04T02:55:57.023 に答える