2017-05-16 4 views
1

Je travaille sur une application qui utilise une liste d'objets avec une liste d'objets différents à l'intérieur de l'objet. J'affiche actuellement la liste initiale des objets en utilisant la classe flipview pour balayer la liste initiale des objets. Cependant, je ne peux pas sembler afficher la liste des objets à l'intérieur de chaque objet dans la liste initiale. par exemple si j'ai une liste d'objets appelés "Mois" avec la possibilité de balayer les mois. Je voudrais afficher la liste des objets appelés "Days" à l'intérieur de cet objet "Month".Comment afficher la liste des objets dans une autre liste d'objets dans les applications UWP Windows 10 C

Voici mon exemple de code XAML:

<Grid Background="{ThemeResource SystemColorWindowColor}"> 
    <FlipView Name="MonthFlipView" HorizontalAlignment="Left" Height="585" Margin="30,23,0,0" 
       VerticalAlignment="Top" Width="295" ItemsSource="{x:Bind Months}"> 
     <FlipView.ItemsPanel> 
      <ItemsPanelTemplate> 
       <VirtualizingStackPanel Orientation="Horizontal"/> 
      </ItemsPanelTemplate> 
     </FlipView.ItemsPanel> 

     <FlipView.ItemTemplate> 
      <xmal:DataTemplate x:DataType="data:Month"> 
       <StackPanel Orientation="Vertical"> 
        <TextBlock FontSize="18" Foreground="White" Margin="0,25" Text="{x:Bind year }"/> 
        <TextBlock FontSize="18" Foreground="White" Margin="0,25" Text="{x:Bind name }"/> 
        <TextBlock FontSize="18" Foreground="White" Margin="0,25" Text="{x:Bind season }"/> 
        <TextBlock FontSize="18" Foreground="White" Margin="0,25" Text="{Binding Source= }"/> 
       </StackPanel> 
      </xmal:DataTemplate> 
     </FlipView.ItemTemplate> 
    </FlipView> 

</Grid> 

Lorsque je tente et se lient à la liste des objets à l'intérieur de l'objet la liste des objets ne se présentent pas comme une option de se lier à . Comment devrais-je aller de l'avant?

+0

À quoi ressemble votre classe de mois? –

Répondre

0

Compte tenu des objets suivants:

public class Month 
{ 
    public IEnumerable<int> Days { get; set; } 
    public string Name { get; set; } 
} 

Et votre viewmodel a une liste de Month objets, vous pouvez lier directement à la propriété Days dans le FlipView ItemTemplate en tant que tels

<FlipView Name="MonthFlipView" ItemsSource="{x:Bind Months}"> 
    <FlipView.ItemTemplate> 
     <DataTemplate x:DataType="data:Month"> 
      <StackPanel> 
       <TextBlock Text="{x:Bind Name}"/> 
       <GridView ItemsSource="{x:Bind Days}"> 
        <GridView.ItemTemplate> 
         <DataTemplate> 
          <TextBlock Text="{Binding}"/> 
         </DataTemplate> 
        </GridView.ItemTemplate> 
       </GridView> 
      <StackPanel> 
     </DataTemplate> 
    </FlipView.ItemTemplate> 
</FlipView>