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
- Overlapped.cs
- RsaSecurityKey.cs
- CacheEntry.cs
- BasicBrowserDialog.cs
- WindowsSysHeader.cs
- HandlerBase.cs
- SRDisplayNameAttribute.cs
- UserPersonalizationStateInfo.cs
- BitmapEffectInput.cs
- Misc.cs
- Graphics.cs
- SystemDiagnosticsSection.cs
- XMLSyntaxException.cs
- SelectionManager.cs
- TextParentUndoUnit.cs
- ConsoleTraceListener.cs
- ImageFormatConverter.cs
- PeerNameRegistration.cs
- selecteditemcollection.cs
- ZipIOExtraFieldElement.cs
- ConsoleKeyInfo.cs
- PathFigureCollectionConverter.cs
- InvalidOleVariantTypeException.cs
- XmlDictionaryWriter.cs
- ListViewInsertEventArgs.cs
- CodeNamespaceCollection.cs
- SerializationInfo.cs
- InkCanvasFeedbackAdorner.cs
- MultiByteCodec.cs
- AlternateViewCollection.cs
- ControlAdapter.cs
- ConfigurationLocation.cs
- DragDeltaEventArgs.cs
- NavigationService.cs
- InstanceCreationEditor.cs
- propertytag.cs
- Control.cs
- Attributes.cs
- AxImporter.cs
- EventProvider.cs
- DBDataPermission.cs
- Atom10FormatterFactory.cs
- DataContractSerializerSection.cs
- XmlSchemaAnyAttribute.cs
- XsltContext.cs
- FormatSettings.cs
- RTLAwareMessageBox.cs
- ServiceProviders.cs
- CreateCardRequest.cs
- DesignSurfaceServiceContainer.cs
- SectionInput.cs
- Matrix3DConverter.cs
- EnumerationRangeValidationUtil.cs
- Parallel.cs
- Renderer.cs
- ClientBuildManager.cs
- ColorAnimationBase.cs
- InputBinder.cs
- OdbcTransaction.cs
- WindowVisualStateTracker.cs
- QilStrConcatenator.cs
- EmulateRecognizeCompletedEventArgs.cs
- Compilation.cs
- ApplicationInterop.cs
- FastPropertyAccessor.cs
- FixedPosition.cs
- HtmlTableCell.cs
- CollectionView.cs
- ModifierKeysConverter.cs
- GlobalizationSection.cs
- CodeIterationStatement.cs
- ISAPIWorkerRequest.cs
- StateItem.cs
- DesignColumnCollection.cs
- SimpleBitVector32.cs
- MetadataArtifactLoaderCompositeFile.cs
- VisualStyleElement.cs
- Select.cs
- TextProperties.cs
- Util.cs
- TabRenderer.cs
- InkSerializer.cs
- RenderTargetBitmap.cs
- ToolboxDataAttribute.cs
- Console.cs
- VideoDrawing.cs
- IsolatedStorageException.cs
- DataSourceExpressionCollection.cs
- ToggleButtonAutomationPeer.cs
- GridViewSortEventArgs.cs
- InternalUserCancelledException.cs
- LoadWorkflowCommand.cs
- HttpWrapper.cs
- EntityDataSourceContainerNameConverter.cs
- CustomAttributeSerializer.cs
- CacheSection.cs
- DataGridViewButtonColumn.cs
- ModuleElement.cs
- SBCSCodePageEncoding.cs
- TabItemAutomationPeer.cs