2017-05-31 1 views
1

Je fais une application avec Xamarin Forms. Je souhaite que l'application affiche une vue de liste similaire à YouTube. Il y a une vignette sur la gauche et sur la droite il y a un titre vidéo avec des détails en dessous. Actuellement, je ne peux placer les détails que sur une seule ligne.Format de liaison multiple de cellule d'image XAML

Comment séparer les détails en plusieurs lignes dans la cellule d'image?

Actuellement:

enter image description here

Homepage.xaml:

<StackLayout Orientation="Vertical"> 
    <SearchBar x:Name="MainSearchBar" HorizontalOptions="Center" /> 
    <ListView x:Name="VideoList" HasUnevenRows="True"> 
     <ListView.ItemTemplate> 
      <DataTemplate> 

       <ImageCell Text = "{Binding Title}" Detail="{Binding Detail}" ImageSource="{Binding ImageURL}"/> 

      </DataTemplate> 
     </ListView.ItemTemplate> 
    </ListView> 
</StackLayout> 

Videos.cs:

class Videos 
{ 
    public string Title { get; set; } 

    public string Author { get; set; } 
    public int Views { get; set; } 
    public DateTime Upload_DateTime { get; set; } 
    public string ImageURL { get; set; } 

    public string Detail 
    { 

     get 
     { 
      return string.Format("{0} - {1} Views Uploaded: {2} ", Author, Views, Upload_DateTime); //format for details on imagecell 
     } 
    } 


} 

NOTE: J'ai essayé les formats suivants sur Videos.cs:

return string.Format("{0} - {1} Views \nUploaded: {2} ", Author, Views, Upload_DateTime);

return string.Format("{0} - {1} Views&#x0a;Uploaded: {2} ", Author, Views, Upload_DateTime);

+2

Vous devez utiliser un ViewCell et définir votre propre mise en page au lieu d'utiliser le ImageCell prédéfini – Jason

Répondre

0

Merci @ Jason!

Maintenant, j'ai une disposition de grille à l'intérieur d'une cellule de vue. Il semble être exactement ce dont j'avais besoin! Ensuite, je vais devoir corriger le formatage pour le rendre plus joli, mais pour la plupart, cette question est répondue!

enter image description here

Homepage.xaml:

<StackLayout Orientation="Vertical"> 
    <SearchBar x:Name="MainSearchBar" HorizontalOptions="Center" /> 
    <ListView x:Name="VideoList" HasUnevenRows="True"> 
     <ListView.ItemTemplate> 
      <DataTemplate> 

       <ViewCell> 
        <ViewCell.View> 
         <Grid> 
          <Grid.RowDefinitions> 
           <RowDefinition/> 
           <RowDefinition/> 
           <RowDefinition/> 
          </Grid.RowDefinitions> 

          <Grid.ColumnDefinitions> 
           <ColumnDefinition/> 
           <ColumnDefinition/> 
          </Grid.ColumnDefinitions> 

          <Image Source="{Binding ImageURL}" Grid.Row="0" Grid.Column="0" Grid.RowSpan="3"/> 
          <Label Text="{Binding Title}" Grid.Row="0" Grid.Column="1"/> 
          <Label Text="{Binding Author_Views}" Grid.Row="1" Grid.Column="1"/> 
          <Label Text="{Binding Uploaded}" Grid.Row="2" Grid.Column="1"/> 
         </Grid> 
        </ViewCell.View> 
       </ViewCell> 
      </DataTemplate> 
     </ListView.ItemTemplate> 
    </ListView> 
</StackLayout> 
+1

ok, drapeau la question de réponse –