private void CollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { if (e.NewItems != null) { if (AddedItems == null) { AddedItems = new List <object>(e.NewItems.Count); } foreach (var item in e.NewItems) { AddedItems.Add(item); } } if (e.OldItems != null) { if (RemovedItems == null) { RemovedItems = new List <object>(e.OldItems.Count); } foreach (var item in e.OldItems) { RemovedItems.Add(item); } } }
private void RaiseLanguageRemoveInteractionRequest(GeneralLanguage selectedItem) { var confirmation = new ConditionalConfirmation { Title = "Remove confirmation".Localize(null, LocalizationScope.DefaultCategory), Content = string.Format("Are you sure you want to remove Language '{0}'?".Localize(), selectedItem.LanguageCode) }; LanguageCommonConfirmRequest.Raise(confirmation, (x) => { if (x.Confirmed) { if (AddedItems.Contains(selectedItem)) { AddedItems.Remove(selectedItem); } else { if (UpdatedItems.Contains(selectedItem)) { UpdatedItems.Remove(selectedItem); } RemovedItems.Add(selectedItem); } InnerItems.Remove(selectedItem); } }); }
/// <summary> /// Rebuild the binding chain to establish property change monitoring, /// additionally setting up collection change event listening on the /// source object (if it is a collection) /// </summary> public override void RefreshBinding() { base.RefreshBinding(); object newValue = GetBoundValue(); if (newValue != _Collection) { // Remove collectionchanged event watcher: if (_Collection != null) { _Collection.CollectionChanged -= CollectionChanged; if (_Collection is IEnumerable) { // Remove items from the old collection: var enumerable = (IEnumerable)_Collection; if (RemovedItems == null) { RemovedItems = new List <object>(); } foreach (var item in enumerable) { RemovedItems.Add(item); } } } // Add collectionchanged event watcher: if (newValue != null && newValue is INotifyCollectionChanged) { var newCollection = (INotifyCollectionChanged)newValue; newCollection.CollectionChanged += CollectionChanged; _Collection = newCollection; if (newCollection is IEnumerable) { // Add items from the new collection: var enumerable = (IEnumerable)newCollection; if (AddedItems == null) { AddedItems = new List <object>(); } foreach (var item in enumerable) { AddedItems.Add(item); } } } else { _Collection = null; } } }
private async Task RemoveItems() { if (SelectedItems.Count > 0) { for (int i = SelectedItems.Count; i > 0; i--) { if (SelectedItems[i - 1].FileId > 0) { //if saved, add it to RemovedItems collection for further removal RemovedItems.Add(SelectedItems[i - 1]); } Items.Remove(SelectedItems[i - 1]); SelectedItems.Remove(SelectedItems[i - 1]); } } }
public void Remove(T item) { if (AddedItems.Contains(item)) { AddedItems.Remove(item); } else { if (UpdatedItems.Contains(item)) { UpdatedItems.Remove(item); } RemovedItems.Add(item); } InnerItems.Remove(item); item.PropertyChanged -= OnPropertyChanged; }
/// <summary> /// Currents the items collection changed. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="System.Collections.Specialized.NotifyCollectionChangedEventArgs"/> instance containing the event data.</param> private void CurrentItemsCollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { CollectionChanged(sender, e); if (e.Action == NotifyCollectionChangedAction.Remove) { foreach (var oldItem in e.OldItems) { var oldItemT = ( T )oldItem; RemovedItems.Add(oldItemT); } if (SoftDeleted != null) { SoftDeleted(this, new SoftDeletedEventArgs(e.OldItems)); } } }
private void RemoveItemPricing() { if (listBox1.SelectedItem != null) { int index = listBox1.SelectedIndex; FormattedListBoxItem pricing = (FormattedListBoxItem)listBox1.SelectedItem; ItemPricingModel model = (ItemPricingModel)pricing.ReferenceObject; if (model.Id == 0) { NewItems.Remove(model); } else { RemovedItems.Add(model); } listBox1.Items.Remove(pricing); ClearFields(); DoChangedValueEvent(); InitializeListBox(index); } }