示例#1
0
        public CategoryViewModel(Category category)
        {
            Category = category;

            foreach (Model.PostIt postIt in category.PostIts)
            {
                PostIts.Insert(0, new PostItViewModel(postIt));
            }
            category.PostIts.CollectionChanged += PostItsCollectionChanged;
        }
示例#2
0
        private void PostItsCollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            switch (e.Action)
            {
            case ChangedAction.Add:
                foreach (var newItem in e.NewItems)
                {
                    PostIts.Insert(0, new PostItViewModel(newItem as Model.PostIt));
                }
                break;

            case ChangedAction.Remove:
                foreach (var oldItem in e.OldItems)
                {
                    PostIts.Remove(PostIts.FirstOrDefault(p => (p as PostItViewModel).Model.Id == (oldItem as Model.PostIt).Id));
                }
                break;

            case ChangedAction.Reset:
                PostIts.Clear();
                break;
            }
            OnPropertyChanged();
        }