Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / MS / Internal / Data / CollectionViewProxy.cs / 1 / CollectionViewProxy.cs
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
// See spec at [....]/connecteddata/Specs/CollectionView.mht
//
// Description: Proxy that adds context affinity to an ICollectionView that
// doesn't already have it.
//
//---------------------------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Threading;
using System.Windows.Data;
namespace MS.Internal.Data
{
///
/// Proxy view, used to interpose between the UI and a view that doesn't
/// support context affinity.
///
internal class CollectionViewProxy : CollectionView
{
//-----------------------------------------------------
//
// Constructors
//
//-----------------------------------------------------
internal CollectionViewProxy(ICollectionView view)
: base(view.SourceCollection, false)
{
_view = view;
view.CollectionChanged += new NotifyCollectionChangedEventHandler(_OnViewChanged);
view.CurrentChanging += new CurrentChangingEventHandler(_OnCurrentChanging);
view.CurrentChanged += new EventHandler(_OnCurrentChanged);
INotifyPropertyChanged ipc = view as INotifyPropertyChanged;
if (ipc != null)
ipc.PropertyChanged += new PropertyChangedEventHandler(_OnPropertyChanged);
}
//------------------------------------------------------
//
// Interfaces
//
//-----------------------------------------------------
#region ICollectionView
///
/// Culture to use during sorting.
///
public override System.Globalization.CultureInfo Culture
{
get { return ProxiedView.Culture; }
set { ProxiedView.Culture = value; }
}
///
/// 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.
///
public override bool Contains(object item)
{
return ProxiedView.Contains(item);
}
///
/// SourceCollection is the original un-filtered collection of which
/// this ICollectionView is a view.
///
public override IEnumerable SourceCollection
{
get { return base.SourceCollection; }
}
///
/// Set/get a filter callback to filter out items in collection.
/// This property will always accept a filter, but the collection view for the
/// underlying InnerList or ItemsSource may not actually support filtering.
/// Please check
///
///
/// Collections assigned to ItemsSource may not support filtering and could throw a NotSupportedException.
/// Use property to test if sorting is supported before adding
/// to SortDescriptions.
///
public override Predicate
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DBNull.cs
- TemplateBamlTreeBuilder.cs
- SplashScreenNativeMethods.cs
- Error.cs
- HMACSHA256.cs
- SizeChangedEventArgs.cs
- SoapConverter.cs
- DocumentSequence.cs
- ObjectStateEntry.cs
- BrowserCapabilitiesCodeGenerator.cs
- MasterPage.cs
- XmlFormatReaderGenerator.cs
- LinearGradientBrush.cs
- IHttpResponseInternal.cs
- TreeNode.cs
- CodeExpressionStatement.cs
- ConstraintStruct.cs
- BeginStoryboard.cs
- XmlReaderDelegator.cs
- IconHelper.cs
- ModelFactory.cs
- WeakEventTable.cs
- WSSecurityOneDotZeroSendSecurityHeader.cs
- DateBoldEvent.cs
- RichTextBox.cs
- CaseDesigner.xaml.cs
- DataViewSetting.cs
- BitmapEffectrendercontext.cs
- ButtonPopupAdapter.cs
- BrushConverter.cs
- SQLDateTimeStorage.cs
- WebControlsSection.cs
- XmlAttributes.cs
- RegexGroupCollection.cs
- PenContexts.cs
- DataSvcMapFile.cs
- ExpressionCopier.cs
- TypeNameConverter.cs
- MetadataArtifactLoader.cs
- FontNamesConverter.cs
- ExpressionBuilderCollection.cs
- MappingMetadataHelper.cs
- ListBoxDesigner.cs
- StateDesigner.CommentLayoutGlyph.cs
- AlternationConverter.cs
- SchemaElementDecl.cs
- RowVisual.cs
- Rect.cs
- _FtpControlStream.cs
- basenumberconverter.cs
- HttpHeaderCollection.cs
- DataGridViewSelectedRowCollection.cs
- RectValueSerializer.cs
- SqlGatherConsumedAliases.cs
- QueryAsyncResult.cs
- DoubleAnimationUsingKeyFrames.cs
- FileClassifier.cs
- Bold.cs
- ObjectListTitleAttribute.cs
- AnimationTimeline.cs
- MSAANativeProvider.cs
- ContainsRowNumberChecker.cs
- Container.cs
- EntityDataSourceDataSelectionPanel.designer.cs
- StatusBarItem.cs
- X509WindowsSecurityToken.cs
- BitArray.cs
- Vector3DKeyFrameCollection.cs
- IPipelineRuntime.cs
- XmlSchemaSimpleContentExtension.cs
- BrushMappingModeValidation.cs
- AssertFilter.cs
- WebConfigurationManager.cs
- TextLine.cs
- PieceDirectory.cs
- DetailsViewDeletedEventArgs.cs
- SimpleFileLog.cs
- XmlIlGenerator.cs
- WindowsFormsSynchronizationContext.cs
- Parameter.cs
- MimeTextImporter.cs
- Track.cs
- CssClassPropertyAttribute.cs
- StrongNamePublicKeyBlob.cs
- BitArray.cs
- TogglePattern.cs
- HuffModule.cs
- StyleSelector.cs
- VisualBasicReference.cs
- TextViewBase.cs
- ChtmlTextWriter.cs
- Set.cs
- DesignerActionGlyph.cs
- MediaCommands.cs
- HttpProfileBase.cs
- ClientRuntimeConfig.cs
- DataGridViewCellStyleConverter.cs
- precedingquery.cs
- MdiWindowListItemConverter.cs
- BamlTreeMap.cs