/// <summary>Move CurrentItem to this index</summary> public override bool MoveCurrentToPosition(int position) { // // If the index is out of range here, I'll let the // ProxiedView be the one to make that determination. // return(ProxiedView.MoveCurrentToPosition(position)); }
/// Re-create the view, using any <seealso cref="SortDescriptions"/>. public override void Refresh() { IndexedEnumerable indexer = (IndexedEnumerable)Interlocked.Exchange(ref _indexer, null); if (indexer != null) { indexer.Invalidate(); } ProxiedView.Refresh(); }
/// <summary> /// Return true if the item belongs to this view. No assumptions are /// made about the item. This method will behave similarly to IList.Contains(). /// If the caller knows that the item belongs to the /// underlying collection, it is more efficient to call PassesFilter. /// </summary> public override bool Contains(object item) { return(ProxiedView.Contains(item)); }
/// <summary> Move to the given item. </summary> public override bool MoveCurrentTo(object item) { return(ProxiedView.MoveCurrentTo(item)); }
/// <summary> Move to the last item. </summary> public override bool MoveCurrentToLast() { return(ProxiedView.MoveCurrentToLast()); }
/// <summary> Move to the previous item. </summary> public override bool MoveCurrentToPrevious() { return(ProxiedView.MoveCurrentToPrevious()); }
/// <summary> /// Enter a Defer Cycle. /// Defer cycles are used to coalesce changes to the ICollectionView. /// </summary> public override IDisposable DeferRefresh() { return(ProxiedView.DeferRefresh()); }