это относится к учебнику по msdn .Это то, что используется для закрытия рабочих областей или вкладок.
// 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 предмету за раз?затем, если это означает, что все элементы, которые все еще будут существовать после изменения, зачем мне нужно повторно присоединять обработчики событий?