protected override void OnDetaching()
        {
            if (_collectionWeakRef?.SafeResolve() != null)
            {
                _collectionWeakRef.SafeResolve().VisibleItemsChanged -= Collection_VisibleItemsChanged;
            }

            AssociatedObject.DataContextChanged -= AssociatedObject_DataContextChanged;
        }