我正在开发一个应用程序,该应用程序使用对象列表以及对象内部的不同对象列表。我目前正在使用flipview类显示对象的初始列表,以刷过初始对象列表。但是我似乎无法在初始列表中显示每个对象内的对象列表。例如,如果我有一个名为“月”的对象列表,可以刷过月份。我想在“Month”对象中显示名为“Days”的对象列表。
以下是我的示例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>
当我尝试绑定到对象内部的对象列表时,对象列表不会显示为绑定的选项。我该如何前进?
答案 0 :(得分:0)
给出以下对象:
public class Month
{
public IEnumerable<int> Days { get; set; }
public string Name { get; set; }
}
并且您的viewmodel有一个Month
对象列表,然后您可以直接绑定到FlipView ItemTemplate中的Days
属性
<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>