Пример #1
0
        private void InitializeListBox(int?index = null)
        {
            _haltEvents = true;
            listBox1.Items.Clear();
            foreach (ItemPricingModel price in ExistingItems)
            {
                if (RemovedItems.Contains(price))
                {
                    continue;
                }
                AddItemPricingToListBox(price);
            }

            foreach (ItemPricingModel price in NewItems)
            {
                AddItemPricingToListBox(price);
            }
            if (listBox1.Items.Count > 0)
            {
                FormattedListBoxItem item = listBox1.Items[0] as FormattedListBoxItem;
                if (index.HasValue)
                {
                    if (index.Value >= listBox1.Items.Count)
                    {
                        item = (FormattedListBoxItem)listBox1.Items[listBox1.Items.Count - 1];
                    }
                    else
                    {
                        item = (FormattedListBoxItem)listBox1.Items[index.Value];
                    }
                }
                listBox1.SelectedItem = item;
                if (item != null)
                {
                    item.IsSelected = true;
                    InitializeFields((ItemPricingModel)item.ReferenceObject);
                }
                buttonRemove.IsEnabled = true;
                SetReadOnly(false);
            }
            else
            {
                ClearFields();
                buttonRemove.IsEnabled = false;
                SetReadOnly(true);
            }
            _haltEvents = false;
        }
Пример #2
0
        public virtual void RejectChange(T item, bool applyToItem)
        {
            if (AddedItems.Contains(item))
            {
                RemoveItem(Items.IndexOf(item));
            }
            else if (RemovedItems.Contains(item))
            {
                InsertItem(Items.Count, item);
            }
            else
            {
                throw new ArgumentOutOfRangeException(nameof(item), "The specified item does not exist in this collection.");
            }

            if (applyToItem && item is IRevertibleChangeTracking)
            {
                ((IRevertibleChangeTracking)item).RejectChanges();
            }
        }