internal void OnQueryAutoFilterDistinctValues(QueryAutoFilterDistinctValuesEventArgs e)
        {
            if (this.QueryAutoFilterDistinctValues != null)
            {
                this.QueryAutoFilterDistinctValues(this, e);
            }

            DataGridVirtualizingCollectionViewSource source = this.ParentCollectionViewSourceBase as DataGridVirtualizingCollectionViewSource;

            if (source != null)
            {
                source.OnQueryAutoFilterDistinctValues(e);
            }
        }
        internal override DataGridCollectionViewBase EnsureDataGridCollectionViewBaseCore()
        {
            DataGridVirtualizingCollectionViewSource parentSource = this.ParentSource as DataGridVirtualizingCollectionViewSource;

            if (!parentSource.IsInitialized)
            {
                return(null);
            }

            return(new DataGridVirtualizingCollectionView(
                       parentSource.ItemType,
                       parentSource.AutoCreateItemProperties,
                       parentSource.PageSize,
                       parentSource.MaxRealizedItemCount));
        }
        internal void OnQueryItems(AsyncQueryInfo asyncQueryInfo, DataGridVirtualizingCollectionViewGroup collectionViewGroup)
        {
            QueryItemsEventArgs e = new QueryItemsEventArgs(this, collectionViewGroup, asyncQueryInfo);

            if (this.QueryItems != null)
            {
                this.QueryItems(this, e);
            }

            DataGridVirtualizingCollectionViewSource source = this.ParentCollectionViewSourceBase as DataGridVirtualizingCollectionViewSource;

            if (source != null)
            {
                source.OnQueryItems(e);
            }
        }
        internal int OnQueryItemCount(DataGridVirtualizingCollectionViewGroup collectionViewGroup)
        {
            QueryItemCountEventArgs e = new QueryItemCountEventArgs(this, collectionViewGroup);

            if (this.QueryItemCount != null)
            {
                this.QueryItemCount(this, e);
            }

            DataGridVirtualizingCollectionViewSource source = this.ParentCollectionViewSourceBase as DataGridVirtualizingCollectionViewSource;

            if (source != null)
            {
                source.OnQueryItemCount(e);
            }

            return(e.Count);
        }
        internal List <GroupNameCountPair> OnQueryGroups(DataGridVirtualizingCollectionViewGroup parentGroup)
        {
            ObservableCollection <GroupDescription> groupDescriptions = this.GroupDescriptions;
            int nextLevel = parentGroup.Level + 1;

            Debug.Assert((groupDescriptions != null) && (groupDescriptions.Count > nextLevel));

            QueryGroupsEventArgs e = new QueryGroupsEventArgs(this, parentGroup, groupDescriptions[nextLevel]);

            if (this.QueryGroups != null)
            {
                this.QueryGroups(this, e);
            }

            DataGridVirtualizingCollectionViewSource source = this.ParentCollectionViewSourceBase as DataGridVirtualizingCollectionViewSource;

            if (source != null)
            {
                source.OnQueryGroups(e);
            }

            return(e.ChildGroupNameCountPairs);
        }
 public DataGridVirtualizingCollectionViewDataProvider( DataGridVirtualizingCollectionViewSource parentSource )
   : base( parentSource )
 {
 }
 public DataGridVirtualizingCollectionViewDataProvider(DataGridVirtualizingCollectionViewSource parentSource)
     : base(parentSource)
 {
 }