Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / 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 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
- InputLanguage.cs
- FunctionDescription.cs
- XmlSchemaDatatype.cs
- ListView.cs
- GlyphingCache.cs
- OutputCacheSettingsSection.cs
- UnmanagedHandle.cs
- NullExtension.cs
- Transform.cs
- StringUtil.cs
- Component.cs
- MetaModel.cs
- SkipStoryboardToFill.cs
- CounterSample.cs
- DynamicMetaObject.cs
- XsltQilFactory.cs
- ImageFormat.cs
- KnownColorTable.cs
- LocatorBase.cs
- PolicyLevel.cs
- DependencyPropertyHelper.cs
- HorizontalAlignConverter.cs
- XPathItem.cs
- CodeDomConfigurationHandler.cs
- Math.cs
- SerialPort.cs
- ChoiceConverter.cs
- xmlfixedPageInfo.cs
- SignedXml.cs
- HelpKeywordAttribute.cs
- AddInController.cs
- ActivitySurrogateSelector.cs
- SecurityChannelFactory.cs
- QuotedStringFormatReader.cs
- SoapUnknownHeader.cs
- Assembly.cs
- XamlStream.cs
- DeviceContext2.cs
- WebControlParameterProxy.cs
- StorageAssociationTypeMapping.cs
- ReservationCollection.cs
- StylusButtonEventArgs.cs
- Buffer.cs
- JsonEncodingStreamWrapper.cs
- XmlHierarchicalEnumerable.cs
- ColorTransformHelper.cs
- XmlSchemaGroup.cs
- TextReturnReader.cs
- hwndwrapper.cs
- NonBatchDirectoryCompiler.cs
- Validator.cs
- HtmlMeta.cs
- PageClientProxyGenerator.cs
- FormsAuthenticationTicket.cs
- MessageBox.cs
- UnionCodeGroup.cs
- OleTxTransaction.cs
- InstallerTypeAttribute.cs
- AssemblyName.cs
- ListBoxItem.cs
- MenuRendererClassic.cs
- NTAccount.cs
- XmlSchemaCollection.cs
- BreakSafeBase.cs
- CqlParser.cs
- ServiceDebugBehavior.cs
- DbExpressionRules.cs
- DefaultValueTypeConverter.cs
- PreviewKeyDownEventArgs.cs
- WindowsIPAddress.cs
- OperationAbortedException.cs
- Int32Rect.cs
- RegistryKey.cs
- TdsParameterSetter.cs
- TextPenaltyModule.cs
- AssertFilter.cs
- ControlPaint.cs
- EventSinkHelperWriter.cs
- PasswordPropertyTextAttribute.cs
- ProviderBase.cs
- GridViewUpdateEventArgs.cs
- HTTPNotFoundHandler.cs
- XmlWriterDelegator.cs
- Deserializer.cs
- ECDiffieHellman.cs
- DataGridViewEditingControlShowingEventArgs.cs
- CharacterString.cs
- ParagraphResult.cs
- SimpleHandlerBuildProvider.cs
- CodeIdentifier.cs
- EventToken.cs
- FormsAuthenticationEventArgs.cs
- XPathChildIterator.cs
- Button.cs
- MarshalDirectiveException.cs
- EntityCollectionChangedParams.cs
- VirtualizingPanel.cs
- COSERVERINFO.cs
- Viewport2DVisual3D.cs
- SHA1CryptoServiceProvider.cs