Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Base / System / ComponentModel / SortDescriptionCollection.cs / 1305600 / SortDescriptionCollection.cs
//----------------------------------------------------------------------------
//
//
// Copyright (C) 2003 by Microsoft Corporation. All rights reserved.
//
//
//
// Description: dynamic collection of SortDescriptions
//
// See spec at http://avalon/connecteddata/Specs/CollectionView.mht
//
// History:
// 03/24/2005 : [....] - created
//
//---------------------------------------------------------------------------
using System;
using System.Collections;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.Windows;
using MS.Utility;
namespace System.ComponentModel
{
///
/// Implementation of a dynamic data collection of SortDescriptions.
///
public class SortDescriptionCollection : Collection, INotifyCollectionChanged
{
//-----------------------------------------------------
//
// Public Events
//
//-----------------------------------------------------
#region Public Events
///
/// Occurs when the collection changes, either by adding or removing an item.
///
///
/// see
///
event NotifyCollectionChangedEventHandler INotifyCollectionChanged.CollectionChanged
{
add
{
CollectionChanged += value;
}
remove
{
CollectionChanged -= value;
}
}
///
/// Occurs when the collection changes, either by adding or removing an item.
///
protected event NotifyCollectionChangedEventHandler CollectionChanged;
#endregion Public Events
//------------------------------------------------------
//
// Protected Methods
//
//-----------------------------------------------------
#region Protected Methods
///
/// called by base class Collection<T> when the list is being cleared;
/// raises a CollectionChanged event to any listeners
///
protected override void ClearItems()
{
base.ClearItems();
OnCollectionChanged(NotifyCollectionChangedAction.Reset);
}
///
/// called by base class Collection<T> when an item is removed from list;
/// raises a CollectionChanged event to any listeners
///
protected override void RemoveItem(int index)
{
SortDescription removedItem = this[index];
base.RemoveItem(index);
OnCollectionChanged(NotifyCollectionChangedAction.Remove, removedItem, index);
}
///
/// called by base class Collection<T> when an item is added to list;
/// raises a CollectionChanged event to any listeners
///
protected override void InsertItem(int index, SortDescription item)
{
item.Seal();
base.InsertItem(index, item);
OnCollectionChanged(NotifyCollectionChangedAction.Add, item, index);
}
///
/// called by base class Collection<T> when an item is set in the list;
/// raises a CollectionChanged event to any listeners
///
protected override void SetItem(int index, SortDescription item)
{
item.Seal();
SortDescription originalItem = this[index];
base.SetItem(index, item);
OnCollectionChanged(NotifyCollectionChangedAction.Remove, originalItem, index);
OnCollectionChanged(NotifyCollectionChangedAction.Add, item, index);
}
///
/// raise CollectionChanged event to any listeners
///
private void OnCollectionChanged(NotifyCollectionChangedAction action, object item, int index)
{
if (CollectionChanged != null)
{
CollectionChanged(this, new NotifyCollectionChangedEventArgs(action, item, index));
}
}
// raise CollectionChanged event to any listeners
void OnCollectionChanged(NotifyCollectionChangedAction action)
{
if (CollectionChanged != null)
{
CollectionChanged(this, new NotifyCollectionChangedEventArgs(action));
}
}
#endregion Protected Methods
///
/// Immutable, read-only SortDescriptionCollection
///
class EmptySortDescriptionCollection : SortDescriptionCollection, IList
{
//------------------------------------------------------
//
// Protected Methods
//
//------------------------------------------------------
#region Protected Methods
///
/// called by base class Collection<T> when the list is being cleared;
/// raises a CollectionChanged event to any listeners
///
protected override void ClearItems()
{
throw new NotSupportedException();
}
///
/// called by base class Collection<T> when an item is removed from list;
/// raises a CollectionChanged event to any listeners
///
protected override void RemoveItem(int index)
{
throw new NotSupportedException();
}
///
/// called by base class Collection<T> when an item is added to list;
/// raises a CollectionChanged event to any listeners
///
protected override void InsertItem(int index, SortDescription item)
{
throw new NotSupportedException();
}
///
/// called by base class Collection<T> when an item is set in list;
/// raises a CollectionChanged event to any listeners
///
protected override void SetItem(int index, SortDescription item)
{
throw new NotSupportedException();
}
#endregion Protected Methods
#region IList Implementations
// explicit implementation to override the IsReadOnly and IsFixedSize properties
bool IList.IsFixedSize
{
get { return true; }
}
bool IList.IsReadOnly
{
get { return true; }
}
#endregion IList Implementations
}
///
/// returns an empty and non-modifiable SortDescriptionCollection
///
public static readonly SortDescriptionCollection Empty = new EmptySortDescriptionCollection();
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------------------------
//
//
// Copyright (C) 2003 by Microsoft Corporation. All rights reserved.
//
//
//
// Description: dynamic collection of SortDescriptions
//
// See spec at http://avalon/connecteddata/Specs/CollectionView.mht
//
// History:
// 03/24/2005 : [....] - created
//
//---------------------------------------------------------------------------
using System;
using System.Collections;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.Windows;
using MS.Utility;
namespace System.ComponentModel
{
///
/// Implementation of a dynamic data collection of SortDescriptions.
///
public class SortDescriptionCollection : Collection, INotifyCollectionChanged
{
//-----------------------------------------------------
//
// Public Events
//
//-----------------------------------------------------
#region Public Events
///
/// Occurs when the collection changes, either by adding or removing an item.
///
///
/// see
///
event NotifyCollectionChangedEventHandler INotifyCollectionChanged.CollectionChanged
{
add
{
CollectionChanged += value;
}
remove
{
CollectionChanged -= value;
}
}
///
/// Occurs when the collection changes, either by adding or removing an item.
///
protected event NotifyCollectionChangedEventHandler CollectionChanged;
#endregion Public Events
//------------------------------------------------------
//
// Protected Methods
//
//-----------------------------------------------------
#region Protected Methods
///
/// called by base class Collection<T> when the list is being cleared;
/// raises a CollectionChanged event to any listeners
///
protected override void ClearItems()
{
base.ClearItems();
OnCollectionChanged(NotifyCollectionChangedAction.Reset);
}
///
/// called by base class Collection<T> when an item is removed from list;
/// raises a CollectionChanged event to any listeners
///
protected override void RemoveItem(int index)
{
SortDescription removedItem = this[index];
base.RemoveItem(index);
OnCollectionChanged(NotifyCollectionChangedAction.Remove, removedItem, index);
}
///
/// called by base class Collection<T> when an item is added to list;
/// raises a CollectionChanged event to any listeners
///
protected override void InsertItem(int index, SortDescription item)
{
item.Seal();
base.InsertItem(index, item);
OnCollectionChanged(NotifyCollectionChangedAction.Add, item, index);
}
///
/// called by base class Collection<T> when an item is set in the list;
/// raises a CollectionChanged event to any listeners
///
protected override void SetItem(int index, SortDescription item)
{
item.Seal();
SortDescription originalItem = this[index];
base.SetItem(index, item);
OnCollectionChanged(NotifyCollectionChangedAction.Remove, originalItem, index);
OnCollectionChanged(NotifyCollectionChangedAction.Add, item, index);
}
///
/// raise CollectionChanged event to any listeners
///
private void OnCollectionChanged(NotifyCollectionChangedAction action, object item, int index)
{
if (CollectionChanged != null)
{
CollectionChanged(this, new NotifyCollectionChangedEventArgs(action, item, index));
}
}
// raise CollectionChanged event to any listeners
void OnCollectionChanged(NotifyCollectionChangedAction action)
{
if (CollectionChanged != null)
{
CollectionChanged(this, new NotifyCollectionChangedEventArgs(action));
}
}
#endregion Protected Methods
///
/// Immutable, read-only SortDescriptionCollection
///
class EmptySortDescriptionCollection : SortDescriptionCollection, IList
{
//------------------------------------------------------
//
// Protected Methods
//
//------------------------------------------------------
#region Protected Methods
///
/// called by base class Collection<T> when the list is being cleared;
/// raises a CollectionChanged event to any listeners
///
protected override void ClearItems()
{
throw new NotSupportedException();
}
///
/// called by base class Collection<T> when an item is removed from list;
/// raises a CollectionChanged event to any listeners
///
protected override void RemoveItem(int index)
{
throw new NotSupportedException();
}
///
/// called by base class Collection<T> when an item is added to list;
/// raises a CollectionChanged event to any listeners
///
protected override void InsertItem(int index, SortDescription item)
{
throw new NotSupportedException();
}
///
/// called by base class Collection<T> when an item is set in list;
/// raises a CollectionChanged event to any listeners
///
protected override void SetItem(int index, SortDescription item)
{
throw new NotSupportedException();
}
#endregion Protected Methods
#region IList Implementations
// explicit implementation to override the IsReadOnly and IsFixedSize properties
bool IList.IsFixedSize
{
get { return true; }
}
bool IList.IsReadOnly
{
get { return true; }
}
#endregion IList Implementations
}
///
/// returns an empty and non-modifiable SortDescriptionCollection
///
public static readonly SortDescriptionCollection Empty = new EmptySortDescriptionCollection();
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Positioning.cs
- AbstractDataSvcMapFileLoader.cs
- NotSupportedException.cs
- DataMemberConverter.cs
- DesignerLoader.cs
- WmlListAdapter.cs
- XmlNamespaceManager.cs
- BrowserCapabilitiesCompiler.cs
- ValidationResult.cs
- SafeFileMapViewHandle.cs
- TreeNodeStyleCollection.cs
- Wizard.cs
- Effect.cs
- SynchronizationContext.cs
- ConnectionsZone.cs
- DaylightTime.cs
- Listener.cs
- Query.cs
- SqlFacetAttribute.cs
- EntityDataSourceDesigner.cs
- SafeRightsManagementSessionHandle.cs
- OuterGlowBitmapEffect.cs
- FacetChecker.cs
- glyphs.cs
- PropertyGeneratedEventArgs.cs
- WorkflowItemPresenter.cs
- DecimalKeyFrameCollection.cs
- AutoResizedEvent.cs
- AssemblyBuilder.cs
- RichTextBoxConstants.cs
- ListBindingConverter.cs
- StateBag.cs
- SafeNativeMethods.cs
- Compiler.cs
- XmlSchemaSequence.cs
- SqlCharStream.cs
- AppearanceEditorPart.cs
- SqlBooleanMismatchVisitor.cs
- HyperLinkColumn.cs
- TimelineClockCollection.cs
- ItemContainerProviderWrapper.cs
- ClearCollection.cs
- SafeFileMappingHandle.cs
- DocumentViewerBaseAutomationPeer.cs
- XMLSchema.cs
- Preprocessor.cs
- streamingZipPartStream.cs
- ShutDownListener.cs
- ApplicationSettingsBase.cs
- AspNetHostingPermission.cs
- TreeNodeCollection.cs
- ConstructorBuilder.cs
- securitycriticaldata.cs
- SerialPinChanges.cs
- SpotLight.cs
- StorageEntityContainerMapping.cs
- DataObjectAttribute.cs
- Primitive.cs
- PreservationFileWriter.cs
- ModelUtilities.cs
- WindowsAuthenticationEventArgs.cs
- DesignTimeTemplateParser.cs
- DateTimeUtil.cs
- MdImport.cs
- LineServicesRun.cs
- Int32AnimationBase.cs
- RegisteredExpandoAttribute.cs
- StrokeNodeData.cs
- XmlSchemaAnnotated.cs
- NamespaceTable.cs
- DataGridViewControlCollection.cs
- SafeArrayTypeMismatchException.cs
- SecurityContext.cs
- XmlResolver.cs
- DynamicPropertyHolder.cs
- EmptyEnumerator.cs
- MetaType.cs
- IntegerValidator.cs
- EntitySetDataBindingList.cs
- TextRangeEdit.cs
- IBuiltInEvidence.cs
- InitializationEventAttribute.cs
- EntityDesignerDataSourceView.cs
- ObjectStorage.cs
- FilteredAttributeCollection.cs
- CollectionViewGroupRoot.cs
- PasswordBoxAutomationPeer.cs
- DocumentScope.cs
- ConfigurationManagerInternal.cs
- UrlParameterWriter.cs
- PropertyInformation.cs
- ZipIOCentralDirectoryBlock.cs
- ADConnectionHelper.cs
- AncestorChangedEventArgs.cs
- GeometryModel3D.cs
- StringResourceManager.cs
- WorkflowTransactionOptions.cs
- CharStorage.cs
- TdsParserSessionPool.cs
- DataSourceControlBuilder.cs