我对如何实现这一点感到有点困惑。情况就是这样。我有一个对象集合本身就有一个对象集合。我想为第一个集合中的每个对象创建一个新的网格视图,该对象将使用第二个对象中的集合作为其源。
例如。在我的视图模型中,我有类似的东西
public ObservableCollection<ApiResponse> NewsStories
其中ApiResponse定义为
public class ApiResponse
{
public List<Article> Articles { get; set; }
}
我的xaml之前我把这个列表列为
<GridView ItemsSource="{Binding Articles}"
ItemTemplate="{StaticResource GridViewTemplate }"
IsItemClickEnabled="False"
IsSwipeEnabled="False"
CanDragItems="False"
SelectionMode="Single"
/>
我能够绑定到一个api响应,并看到网格视图显示该响应的所有文章。但现在我要列出一份清单,我不确定如何继续。我尝试将其封装在列表视图中,但无济于事。
答案 0 :(得分:0)
我想我可能已经弄明白了。首先在我的xaml中我有类似
的东西<GridView
ItemsSource="{Binding NewsStories}"
IsItemClickEnabled="False"
CanDragItems="False"
SelectionMode="None"
ItemTemplate="{StaticResource ImageTextTemplate }">
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsWrapGrid Orientation="Vertical"/>
</ItemsPanelTemplate>
</GridView.ItemsPanel>
</GridView>
在我的页面资源中,我有
<Page.Resources>
<DataTemplate x:Key="ArticleTemplate" x:DataType="data:Article">
<StackPanel Orientation="Vertical" Width="180" Height="240" >
<!-- stuff here -->
</StackPanel>
</StackPanel>
</DataTemplate>
<DataTemplate x:Key="ImageTextTemplate" x:DataType="data:ApiResponse">
<GridView ItemsSource="{Binding Articles}"
ItemTemplate="{StaticResource ArticleTemplate}"
Header="{Binding Source}" />
</DataTemplate>
</Page.Resources>