Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Base / System / ComponentModel / SortDescriptionCollection.cs / 1 / SortDescriptionCollection.cs
//---------------------------------------------------------------------------- // //// Copyright (C) 2003 by Microsoft Corporation. All rights reserved. // // // // Description: dynamic collection of SortDescriptions // // See spec at [....]/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
- Vars.cs
- LocalIdKeyIdentifierClause.cs
- ComboBox.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- UrlPath.cs
- ErrorWebPart.cs
- SqlInfoMessageEvent.cs
- DBNull.cs
- ApplicationInfo.cs
- ValidationError.cs
- Tag.cs
- IntegrationExceptionEventArgs.cs
- NumberFunctions.cs
- FormViewCommandEventArgs.cs
- WizardStepBase.cs
- CoreSwitches.cs
- InternalRelationshipCollection.cs
- ClientData.cs
- FatalException.cs
- StatusBarItemAutomationPeer.cs
- IDQuery.cs
- TabControl.cs
- HtmlTextArea.cs
- EntityDataSourceSelectedEventArgs.cs
- ResourceProviderFactory.cs
- OptimizerPatterns.cs
- VectorAnimationBase.cs
- WindowsListBox.cs
- Equal.cs
- LineUtil.cs
- GeneralTransform3D.cs
- DSASignatureDeformatter.cs
- FreezableOperations.cs
- TypeBuilder.cs
- PromptBuilder.cs
- XslTransform.cs
- MenuItemCollection.cs
- MarshalByValueComponent.cs
- ParentQuery.cs
- Operator.cs
- TransformerInfo.cs
- JsonQNameDataContract.cs
- DrawingAttributes.cs
- XmlRootAttribute.cs
- CryptoStream.cs
- LineBreak.cs
- Set.cs
- FilterException.cs
- HttpModuleAction.cs
- DBPropSet.cs
- NonClientArea.cs
- DataContract.cs
- MimeTypeAttribute.cs
- CompositionDesigner.cs
- SelectedCellsChangedEventArgs.cs
- RequestCache.cs
- XmlHelper.cs
- IisHelper.cs
- APCustomTypeDescriptor.cs
- MetricEntry.cs
- WebPartDisplayModeEventArgs.cs
- XmlExtensionFunction.cs
- Identity.cs
- ToolStripArrowRenderEventArgs.cs
- ThreadStartException.cs
- Dictionary.cs
- Propagator.JoinPropagator.cs
- ActivityCodeDomReferenceService.cs
- RegexFCD.cs
- UpdatePanelControlTrigger.cs
- TextControl.cs
- NonSerializedAttribute.cs
- ObjectAssociationEndMapping.cs
- Rotation3D.cs
- WebPartDeleteVerb.cs
- HttpCachePolicy.cs
- MetaModel.cs
- XmlStreamedByteStreamReader.cs
- TextTreeUndo.cs
- KeyBinding.cs
- NullReferenceException.cs
- PropertyTab.cs
- NoneExcludedImageIndexConverter.cs
- DataGridViewCellMouseEventArgs.cs
- TemplatePagerField.cs
- ImmutableObjectAttribute.cs
- X509Chain.cs
- EdmRelationshipRoleAttribute.cs
- ServiceBehaviorElement.cs
- _CookieModule.cs
- PageRequestManager.cs
- SystemIPGlobalProperties.cs
- LassoSelectionBehavior.cs
- FigureParaClient.cs
- RestClientProxyHandler.cs
- TableParaClient.cs
- Baml2006ReaderContext.cs
- TextContainerHelper.cs
- ErrorReporting.cs
- ImageClickEventArgs.cs