C# Xaml:在DataTemplate中绑定集合
我对xaml和数据绑定非常陌生,所以请不要吃我。我正在从事一个Windows8商店项目atm,对嵌套数据绑定有一些理解问题。我会尽可能清晰地组织我的帖子,如果需要的话,我非常愿意给出更多的建议 假设我有这样一个类结构:C# Xaml:在DataTemplate中绑定集合,c#,xaml,binding,datatemplate,C#,Xaml,Binding,Datatemplate,我对xaml和数据绑定非常陌生,所以请不要吃我。我正在从事一个Windows8商店项目atm,对嵌套数据绑定有一些理解问题。我会尽可能清晰地组织我的帖子,如果需要的话,我非常愿意给出更多的建议 假设我有这样一个类结构: public class Hotels { public Collection<Hotel> HotelCollection { get; set; } } public class Hotel { public string Name { get;
public class Hotels
{
public Collection<Hotel> HotelCollection { get; set; }
}
public class Hotel
{
public string Name { get; set; }
public string Town { get; set; }
public string ImageUrl { get; set; }
public Collection<Room> RoomCollection { get; set; }
}
public class Room
{
public string Name { get; set; }
public string OccupancyMax { get; set; }
public string OccupancyMin { get; set; }
}
因此,到目前为止,我一直在尝试向CustomStyles.xaml添加一个数据模板。我可以发布此代码,但这正是我需要帮助的地方。我不知道如何处理房间的收集。我能够在草图的输出红色部分显示基本酒店数据,但如何在DataTemplate蓝色部分中管理多个房间
HotelPage.xaml的代码:
<GridView x:Name="HotelResults" HorizontalAlignment="Left" VerticalAlignment="Top"
ItemsSource="{Binding HotelResults}"
ItemTemplate="{StaticResource HotelPageTemplate}"
</GridView>
您可以使用集合控件,例如ItemsControl,将ItemTemplate设置为另一个DataTemplate的实例
您可以使用集合控件,例如ItemsControl,将ItemTemplate设置为另一个DataTemplate的实例
非常感谢!这对我帮助很大!非常感谢!这对我帮助很大!
<GridView x:Name="HotelResults" HorizontalAlignment="Left" VerticalAlignment="Top"
ItemsSource="{Binding HotelResults}"
ItemTemplate="{StaticResource HotelPageTemplate}"
</GridView>
<DataTemplate x:Key="{HotelPageTemplate}">
<StackPanel>
<TextBlock Text="{Binding Name"} />
...
<ItemsControl ItemsSource="{Binding RoomCollection}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding OccupancyMax}" />
...
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
</DateTemplate>