Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Framework / System / Windows / Documents / DocumentReferenceCollection.cs / 1 / DocumentReferenceCollection.cs
//---------------------------------------------------------------------------- //// Copyright (C) 2004 by Microsoft Corporation. All rights reserved. // // // Description: // Implements the DocumentReferenceCollection as holder for a collection // of DocumentReference // // History: // 05/07/2004 - Zhenbin Xu (ZhenbinX) - Created. // // //--------------------------------------------------------------------------- namespace System.Windows.Documents { using System; using System.Collections.Generic; using System.Collections.Specialized; using System.Diagnostics; //===================================================================== ////// DocumentReferenceCollection is an ordered collection of DocumentReference /// [CLSCompliant(false)] public sealed class DocumentReferenceCollection : IEnumerable, INotifyCollectionChanged { //------------------------------------------------------------------- // // Connstructors // //---------------------------------------------------------------------- #region Constructors internal DocumentReferenceCollection() { } #endregion Constructors //------------------------------------------------------------------- // // Public Methods // //---------------------------------------------------------------------- #region Public Methods #region IEnumerable /// /// /// public IEnumeratorGetEnumerator() { return _InternalList.GetEnumerator(); } System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return ((IEnumerable )this).GetEnumerator(); } #endregion IEnumerable /// /// /// public void Add(DocumentReference item) { int count = _InternalList.Count; _InternalList.Add(item); OnCollectionChanged(NotifyCollectionChangedAction.Add, item, count); } ////// Passes in document reference array to be copied /// public void CopyTo(DocumentReference[] array, int arrayIndex) { _InternalList.CopyTo(array, arrayIndex); } #endregion Public Methods #region Public Properties ////// Count of Document References in collection /// public int Count { get { return _InternalList.Count; } } ////// /// public DocumentReference this[int index] { get { return _InternalList[index]; } } #endregion Public Properties //-------------------------------------------------------------------- // // Public Events // //--------------------------------------------------------------------- #region Public Event ////// Occurs when the collection changes, either by adding or removing an item. /// ////// see public event NotifyCollectionChangedEventHandler CollectionChanged; #endregion Public Event //-------------------------------------------------------------------- // // private Properties // //--------------------------------------------------------------------- #region Private Properties // Aggregated IList private IList/// _InternalList { get { if (_internalList == null) { _internalList = new List (); } return _internalList; } } #endregion Private Properties #region Private Methods //------------------------------------------------------------------- // // Private Methods // //--------------------------------------------------------------------- // fire CollectionChanged event to any listeners private void OnCollectionChanged(NotifyCollectionChangedAction action, object item, int index) { if (CollectionChanged != null) { NotifyCollectionChangedEventArgs args; args = new NotifyCollectionChangedEventArgs(action, item, index); CollectionChanged(this, args); } } #endregion Private Methods //-------------------------------------------------------------------- // // Private Fields // //--------------------------------------------------------------------- #region Private Fields private List _internalList; #endregion Private Fields } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // // Copyright (C) 2004 by Microsoft Corporation. All rights reserved. // // // Description: // Implements the DocumentReferenceCollection as holder for a collection // of DocumentReference // // History: // 05/07/2004 - Zhenbin Xu (ZhenbinX) - Created. // // //--------------------------------------------------------------------------- namespace System.Windows.Documents { using System; using System.Collections.Generic; using System.Collections.Specialized; using System.Diagnostics; //===================================================================== ////// DocumentReferenceCollection is an ordered collection of DocumentReference /// [CLSCompliant(false)] public sealed class DocumentReferenceCollection : IEnumerable, INotifyCollectionChanged { //------------------------------------------------------------------- // // Connstructors // //---------------------------------------------------------------------- #region Constructors internal DocumentReferenceCollection() { } #endregion Constructors //------------------------------------------------------------------- // // Public Methods // //---------------------------------------------------------------------- #region Public Methods #region IEnumerable /// /// /// public IEnumeratorGetEnumerator() { return _InternalList.GetEnumerator(); } System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return ((IEnumerable )this).GetEnumerator(); } #endregion IEnumerable /// /// /// public void Add(DocumentReference item) { int count = _InternalList.Count; _InternalList.Add(item); OnCollectionChanged(NotifyCollectionChangedAction.Add, item, count); } ////// Passes in document reference array to be copied /// public void CopyTo(DocumentReference[] array, int arrayIndex) { _InternalList.CopyTo(array, arrayIndex); } #endregion Public Methods #region Public Properties ////// Count of Document References in collection /// public int Count { get { return _InternalList.Count; } } ////// /// public DocumentReference this[int index] { get { return _InternalList[index]; } } #endregion Public Properties //-------------------------------------------------------------------- // // Public Events // //--------------------------------------------------------------------- #region Public Event ////// Occurs when the collection changes, either by adding or removing an item. /// ////// see public event NotifyCollectionChangedEventHandler CollectionChanged; #endregion Public Event //-------------------------------------------------------------------- // // private Properties // //--------------------------------------------------------------------- #region Private Properties // Aggregated IList private IList/// _InternalList { get { if (_internalList == null) { _internalList = new List (); } return _internalList; } } #endregion Private Properties #region Private Methods //------------------------------------------------------------------- // // Private Methods // //--------------------------------------------------------------------- // fire CollectionChanged event to any listeners private void OnCollectionChanged(NotifyCollectionChangedAction action, object item, int index) { if (CollectionChanged != null) { NotifyCollectionChangedEventArgs args; args = new NotifyCollectionChangedEventArgs(action, item, index); CollectionChanged(this, args); } } #endregion Private Methods //-------------------------------------------------------------------- // // Private Fields // //--------------------------------------------------------------------- #region Private Fields private List _internalList; #endregion Private Fields } } // 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
- Utils.cs
- ErrorHandlingReceiver.cs
- ClientConfigurationSystem.cs
- AnnotationComponentChooser.cs
- Evaluator.cs
- ExtensionWindowResizeGrip.cs
- DefaultPrintController.cs
- MD5CryptoServiceProvider.cs
- SqlDataSourceFilteringEventArgs.cs
- BitmapSourceSafeMILHandle.cs
- Int16Animation.cs
- SecurityRuntime.cs
- XmlSchemaFacet.cs
- EntityDataSourceState.cs
- DragDropManager.cs
- DNS.cs
- KeyInterop.cs
- CallbackValidatorAttribute.cs
- RegionData.cs
- MaskedTextProvider.cs
- XmlHierarchicalDataSourceView.cs
- FixedSOMFixedBlock.cs
- TextFragmentEngine.cs
- CookieHandler.cs
- SystemIPGlobalStatistics.cs
- IndicShape.cs
- SelectedDatesCollection.cs
- ButtonPopupAdapter.cs
- TableRow.cs
- RenderTargetBitmap.cs
- NTAccount.cs
- EventTask.cs
- TypeDelegator.cs
- MessageBox.cs
- ConnectionOrientedTransportBindingElement.cs
- CommandHelper.cs
- TemplatedAdorner.cs
- MemoryFailPoint.cs
- CharAnimationUsingKeyFrames.cs
- ForwardPositionQuery.cs
- MemberBinding.cs
- EventMappingSettings.cs
- Tokenizer.cs
- CLRBindingWorker.cs
- SHA1Cng.cs
- BasicViewGenerator.cs
- ImageList.cs
- ImageSourceValueSerializer.cs
- WebBrowserEvent.cs
- ObjectReferenceStack.cs
- EventOpcode.cs
- RoleServiceManager.cs
- CaseInsensitiveComparer.cs
- SecurityUniqueId.cs
- SqlDesignerDataSourceView.cs
- SqlParameter.cs
- TdsEnums.cs
- ConditionalAttribute.cs
- WebBrowserDocumentCompletedEventHandler.cs
- BitmapMetadataBlob.cs
- EdgeProfileValidation.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- SelectingProviderEventArgs.cs
- ResourceReferenceExpressionConverter.cs
- SchemaName.cs
- PersistenceTask.cs
- SafeBitVector32.cs
- CroppedBitmap.cs
- Function.cs
- SqlInternalConnectionSmi.cs
- XPathCompileException.cs
- BinHexEncoder.cs
- FlowNode.cs
- SqlCharStream.cs
- BuildDependencySet.cs
- XmlSchemaSubstitutionGroup.cs
- ColumnMapTranslator.cs
- PersonalizationProviderCollection.cs
- LinqDataSourceStatusEventArgs.cs
- AppDomainUnloadedException.cs
- CodeNamespaceImport.cs
- OrCondition.cs
- XmlArrayItemAttributes.cs
- RuleSettingsCollection.cs
- SQLDateTimeStorage.cs
- HostVisual.cs
- CodeGeneratorOptions.cs
- FontCacheUtil.cs
- CodeCatchClauseCollection.cs
- UIElementPropertyUndoUnit.cs
- SafeCryptHandles.cs
- ScrollableControl.cs
- MeasurementDCInfo.cs
- ImageAutomationPeer.cs
- ToolStripDropTargetManager.cs
- MobileControlDesigner.cs
- MainMenu.cs
- InputScopeConverter.cs
- XmlSchemaAppInfo.cs
- ArgumentOutOfRangeException.cs