這是關於msdn的教程。這是用來關閉工作區或選項卡的。有關MVVM教程的問題:關閉工作區/ Observable Collection
// workspaces declared as follows
_workspaces = new ObservableCollection<WorkspaceViewModel>();
_workspaces.CollectionChanged += this.OnWorkspacesChanged;
void OnWorkspacesChanged(object sender, NotifyCollectionChangedEventArgs e)
{
if (e.NewItems != null && e.NewItems.Count != 0)
foreach (WorkspaceViewModel workspace in e.NewItems)
workspace.RequestClose += this.OnWorkspaceRequestClose;
if (e.OldItems != null && e.OldItems.Count != 0)
foreach (WorkspaceViewModel workspace in e.OldItems)
workspace.RequestClose -= this.OnWorkspaceRequestClose;
}
什麼,我不明白是什麼將e.NewItems
和e.OldItems
是。假設NewItems
將是添加到集合中的新項目,我附加了事件處理程序?但那麼它會是單數的,因爲我通常每次添加1個項目?那麼如果它意味着更改後仍然存在的所有項目,爲什麼我需要重新附加事件處理程序?