私はxamlとデータバインディングに非常に慣れていないので、私を食べないでください。私はWindows8ストアプロジェクトのatmを心配していますが、ネストされたデータバインディングの問題を理解しています。私は自分の投稿をできるだけ明確に構成するように努めます。必要に応じて、さらに多くの情報を提供したいと思います。
私がこのようなクラス構造を持っていると仮定しましょう:
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; }
}
このデータをGridViewにバインドしたい(それ自体はグリッドビューである必要はありません)。
私はそのようにデータを自分のページにロードしています(HotelPageViewModel内に'Hotel's-> HotelResultsのObservableCollectionがあります):
var viewModel = new HotelPageViewModel();
this.DataContext = viewModel;
これまでに試したことは、CustomStyles.xamlにDatatemplateを追加することです。このコードを投稿することはできますが、それが私が助けを必要としていることです。Room-Collectionの扱い方がわかりません。基本的なホテルデータを出力(スケッチの赤い部分)に表示できますが、DataTemplate(青い部分)内で複数の部屋を管理するにはどうすればよいですか?
HotelPage.xamlのコード:
<GridView x:Name="HotelResults" HorizontalAlignment="Left" VerticalAlignment="Top"
ItemsSource="{Binding HotelResults}"
ItemTemplate="{StaticResource HotelPageTemplate}"
</GridView>