Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 绑定可观察列表集合_C#_Silverlight_Windows Phone 7 - Fatal编程技术网

C# 绑定可观察列表集合

C# 绑定可观察列表集合,c#,silverlight,windows-phone-7,C#,Silverlight,Windows Phone 7,在我的Windows Phone应用程序中,我有一个带有ContentItems绑定的列表框: private ObservableCollection<ContentItemViewModel> _contentItems; public ObservableCollection<ContentItemViewModel> ContentItems { get { return _contentItems; } } private observeCollec

在我的Windows Phone应用程序中,我有一个带有ContentItems绑定的列表框:

private ObservableCollection<ContentItemViewModel> _contentItems;

public ObservableCollection<ContentItemViewModel> ContentItems
{
    get { return _contentItems; }
}
private observeCollection\u contentItems;
公共可见集合内容项
{
获取{return\u contentItems;}
}


是否可以不绑定
可观察集合
,而是绑定-
可观察集合

如果您有集合,则这是可能的。或者为什么不是这个

ObservableCollection<ObservableCollection<ContentItemViewModel>>
observedcollection
如果希望在子集合的集合更改时通知用户界面

更新

例如:

视图模型

公共可观察收集内容项
{
获取{return\u contentItems;}
设置{u contentItems=value;//在此处通知属性更改,这允许您在构建视图模型后更改contentItems引用}
}
公共MyViewModel()
{
//填充内容项
this.ContentItems=新的ObservableCollection
{
新的ObservableCollection{new ContentItemViewModel()},
新的ObservableCollection{new ContentItemViewModel(),new ContentItemViewModel()}
};
}
看法



那么,您能否给出一个实现集合集合的示例?您是指在视图模型中还是在视图中?您能否解释如何在视图和视图模型中实现这一点?
public ObservableCollection<ObservableCollection<ContentItemViewModel>> ContentItems
{
   get { return _contentItems; }
   set { _contentItems = value; // Notify of property change here, this allows you to change the ContentItems reference after view model construction }
}

public MyViewModel()
{
    // Populate content items
    this.ContentItems = new ObservableCollection 
          {
              new ObservableCollection { new ContentItemViewModel() },
              new ObservableCollection { new ContentItemViewModel(), new ContentItemViewModel() }
          };
}