Question

Je suis en train de faire un contrôle qui affiche un élément de nouvelles. Il y a une image qui sera donnée dans toutes les dimensions, mais le contrôle peut rogner sur une place. Il y a aussi un titre et taquin.

Le titre et l'image sera au même niveau vertical. Le teaser sera sous eux:

le contrôle de l'histoire

Je veux que le contrôle d'étirer verticalement pour éviter toute casse et texte du titre.

En outre, s'il n'y a pas d'image actuelle, je voudrais que le texte à glisser vers la droite.

Voici le code XAML Je suis actuellement en utilisant:

<Grid x:Name="LayoutRoot" Background="Transparent">
    <Image x:Name="Thumbnail" Width="89" HorizontalAlignment="Left" VerticalAlignment="Top" />
    <TextBlock x:Name="Headline" Margin="93,0,0,0" Style="{StaticResource PhoneTextAccentStyle}" TextWrapping="Wrap" HorizontalAlignment="Left" Width="299" FontSize="23.333" VerticalAlignment="Top" />
    <TextBlock x:Name="Teaser" HorizontalAlignment="Left" Margin="4,100,0,0" Style="{StaticResource PhoneTextSubtleStyle}"  TextWrapping="Wrap" VerticalAlignment="Top" Width="384"/>
</Grid>

Est-ce que je veux être le contrôle de la mise en page avec des lignes et des colonnes de Grid? Ou est-ce que je veux être en utilisant les marges? Si le titre est court, et il n'y a pas d'image, comment puis-je être sûr que le texte teaser glissera jusqu'à remplir l'espace vide?

Était-ce utile?

La solution

L'utilisation des marges pour la mise en page n'est pas recommandée. Vous pouvez simplement utiliser une grille avec 2 colonnes et lignes:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>

    <Image ... />
    <TextBlock Grid.Column="1" ... />
    <TextBlock Grid.Row="1" Grid.ColumnSpan="2" .../>
</Grid>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top