2017-08-04 150 views
0

我在设计一个UWP电影应用程序,我需要几个ObservableCollections来存储不同的电影列表。我想使用ObservableCollection [Index],但不知道如何初始化它。 我尝试下面的代码,但失败:如何初始化ObservableCollection数组?

public static ObservableCollection<Subject>[] FullMovieList = new ObservableCollection<Subject>[6];  

我怎样才能做到呢? Thx〜

+1

'失败' - 你能提一下你有什么错误吗? – Nipun

+0

我不能确切地记得,它主要是关于nullexception左右:-D –

回答

1

您创建正确的ObservableCollection<Subject>阵列。 但是你只创建数组,而不是数组本身的集合。

你也应该创建集合;

for (int a = 0; a < FullMovieList.Length; a++) 
{ 
    FullMovieList[a] = new ObservableCollection<Subject>(); 
} 
0

每次你想添加对象的范围时建立一个新的集合是不好的,而我会按照下面的设计。

建立一个类从ObservableCollection继承,这样您就可以访问是受保护的项目属性,然后创建一个AddRange方法将添加项目到它

public class MyObObservableCollection<T> : ObservableCollection<T> 
{ 
    public void AddRange(IEnumerable<T> items) 
    { 
     foreach (var item in items) 
     { 
      this.Items.Add(item); 
     }  
    } 

    OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add)); 
}