在XAML中绑定列表的列表?

8

我有一个列表嵌套列表的对象:

List<List<Movie>> MovieList

这个MovieList对象是由几个电影列表组成的集合,每个列表都是基于特定的电影类型。例如,MovieList[0]将是由喜剧类型电影组成的列表,以此类推。

现在我想将这个List of Lists MovieList 对象绑定到XAML中的一个ListView上。ListView的ItemSource将绑定到这个MovieList对象,而每个ListViewItem将是一个ListView本身,它又绑定到特定类型的电影列表上。例如,喜剧电影类型的电影列表。进一步地,每个内部列表的ListViewItem将绑定到该特定电影的Title属性。

请帮我设计这个XAML代码。

1个回答

17

MVVM 解决方案:

MainWindow:

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

MoviesViewModel.cs:

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

电影视图.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>

爱你“sll”...你给了我一个完美的解决方案...那个方法非常有效...非常感谢。 - Lucifer
我在解决方案中遇到了另一个小问题。请在以下链接中查看: http://stackoverflow.com/questions/8261710/list-of-lists-item-selection-not-working-properly - Lucifer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接