Example #1
0
        private void Items_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
        {
            // update .NET Core section first, copy into here
            switch (e.Action)
            {
            case NotifyCollectionChangedAction.Add:
                break;

            case NotifyCollectionChangedAction.Remove:
                if (e.OldItems != null)
                {
                    foreach (TabItem ti in e.OldItems)
                    {
                        if (ti != null)
                        {
                            TabClosed?.Invoke(this, new TabItemChangeEventArgs(ti));
                        }
                    }
                }
                break;

            case NotifyCollectionChangedAction.Replace:
                if (e.OldItems != null)
                {
                    foreach (TabItem ti in e.OldItems)
                    {
                        if (ti != null)
                        {
                            TabClosed?.Invoke(this, new TabItemChangeEventArgs(ti));
                        }
                    }
                }
                break;

            case NotifyCollectionChangedAction.Move:
                break;

            case NotifyCollectionChangedAction.Reset:
                TabsCleared?.Invoke(this, EventArgs.Empty);
                break;

            default:
                break;
            }
#endif

            LoadTemplateItems();
            CheckScrolling();
        }
Example #2
0
        private void Items_CollectionChanged(object?sender, NotifyCollectionChangedEventArgs e)
        {
            switch (e.Action)
            {
            case NotifyCollectionChangedAction.Add:
                break;

            case NotifyCollectionChangedAction.Remove:
                if (e.OldItems != null)
                {
                    foreach (TabItem?ti in e.OldItems)
                    {
                        if (ti != null)
                        {
                            TabClosed?.Invoke(this, new TabItemChangeEventArgs(ti));
                        }
                    }
                }
                break;

            case NotifyCollectionChangedAction.Replace:
                if (e.OldItems != null)
                {
                    foreach (TabItem?ti in e.OldItems)
                    {
                        if (ti != null)
                        {
                            TabClosed?.Invoke(this, new TabItemChangeEventArgs(ti));
                        }
                    }
                }
                break;

            case NotifyCollectionChangedAction.Move:
                break;

            case NotifyCollectionChangedAction.Reset:
                TabsCleared?.Invoke(this, EventArgs.Empty);
                break;

            default:
                break;
            }