XAML中的列表绑定列表?

时间:2011-11-18 19:29:56

标签: c# wpf xaml

我有一个列表列表对象:

List<List<Movie>> MovieList

此MovieList对象是电影列表的集合,每个电影都基于特定的电影类型。恩。 MovieList[0]将是Comedy类型的电影列表,依此类推 现在我想将此列表列表 MovieList 对象绑定到XAML中的ListView。 ListView ItemSource将绑定到此MovieList对象,此ListView的每个ListViewItem将是一个ListView本身,绑定到特定类型的电影列表。恩。喜剧类型电影列表。此外,此内部List的每个ListViewItem都将绑定到该特定影片的Title属性。 请帮我设计XAML代码。

1 个答案:

答案 0 :(得分:12)

MVVM解决方案:

<强>主窗口:

var moviesView = new MoviesView();
moviesView.DataContext = new MoviesViewModel { MovieList = ... };

<强> MoviesViewModel.cs:

public class MoviesViewModel
{
    public ObservableCollection<List<Movie>> MovieList 
    { 
        get; 
        set; 
    }
}

<强> MoviesView.xaml

<ListView ItemsSource="{Binding MovieList}">
   <ListView.ItemTemplate>
      <DataTemplate>
            <ListView ItemsSource="{Binding}">
               <ListView.ItemTemplate>
                   <DataTemplate>
                         <TextBlock Text="{Binding Title}" />
                   </DataTemplate>
               </ListView.ItemTemplate>
            </ListView>
      </DataTemplate>
   </ListView.ItemTemplate>
</ListView>