如何在可观察集合中设置值?

时间:2015-01-17 12:04:41

标签: c# mvvm observablecollection

我有这段代码:

  private ObservableCollection<Workspace> _OpenWorkspaces;
  public ObservableCollection<Workspace> OpenWorkspaces {
                            get { return _OpenWorkspaces; }
                            set { _OpenWorkspaces = value; }
                                                 }

如何设置值? (像这样不起作用)

OpenWorkspaces.id =1; 
OpenWorkspaces.Name ="Jon";

2 个答案:

答案 0 :(得分:3)

要设置特定项目的属性,您必须指定其索引:

OpenWorkspaces[0].id =1; 
OpenWorkspaces[0].Name ="Jon";

如果您想对所有项目执行此操作,请使用循环:

foreach(var workspace in OpenWorkspaces)
{
    workspace.id =1; 
    workspace.Name ="Jon";
}

(当然假设你已经有了集合中的项目;你可以使用Add方法添加它们)

答案 1 :(得分:0)

ObservableCollection类似于List,但主要用于显示View上的项目。您应该像以下一样使用它:

OpenWorkspaces.Add(yourWorkspace);

您的工作区可能包含Id和Name等属性。

您可以阅读Tutorial