Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Documents / DocumentReferenceCollection.cs / 1305600 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- AnnotationObservableCollection.cs
- Clause.cs
- SerializableAttribute.cs
- StructuralObject.cs
- WebHttpSecurity.cs
- ToolStripGripRenderEventArgs.cs
- PropertyChangeTracker.cs
- CheckBoxField.cs
- SplayTreeNode.cs
- CacheAxisQuery.cs
- PolyBezierSegmentFigureLogic.cs
- CodeAccessSecurityEngine.cs
- GrammarBuilderPhrase.cs
- XsdDateTime.cs
- PropertyEntry.cs
- DataGridViewEditingControlShowingEventArgs.cs
- Socket.cs
- MergeEnumerator.cs
- SqlLiftWhereClauses.cs
- NativeMethods.cs
- EngineSiteSapi.cs
- ListViewInsertedEventArgs.cs
- X509SecurityTokenParameters.cs
- ColorPalette.cs
- ResourceManagerWrapper.cs
- DataStreamFromComStream.cs
- IsolationInterop.cs
- ImageList.cs
- Pool.cs
- ISAPIWorkerRequest.cs
- HttpResponse.cs
- IntersectQueryOperator.cs
- ListViewGroupItemCollection.cs
- ClockGroup.cs
- Light.cs
- EditorAttribute.cs
- FlowDocumentReaderAutomationPeer.cs
- SurrogateEncoder.cs
- BindingNavigatorDesigner.cs
- Highlights.cs
- BrowserTree.cs
- MessageLoggingElement.cs
- BoundField.cs
- WindowsListViewItemCheckBox.cs
- DataRelationCollection.cs
- XmlSchemaGroup.cs
- RegexCapture.cs
- MenuItemAutomationPeer.cs
- PathSegment.cs
- BamlTreeMap.cs
- FileDialog.cs
- DispatcherTimer.cs
- AutomationPatternInfo.cs
- PropertyGeneratedEventArgs.cs
- PenContext.cs
- GlobalProxySelection.cs
- DESCryptoServiceProvider.cs
- TextBlock.cs
- input.cs
- userdatakeys.cs
- SelectionManager.cs
- ViewPort3D.cs
- TimersDescriptionAttribute.cs
- PenLineJoinValidation.cs
- TextEffectCollection.cs
- EntityContainerRelationshipSetEnd.cs
- EventsTab.cs
- DrawListViewSubItemEventArgs.cs
- MetadataUtilsSmi.cs
- ValidationUtility.cs
- IApplicationTrustManager.cs
- Rules.cs
- InteropBitmapSource.cs
- ScriptManager.cs
- DataSpaceManager.cs
- XslException.cs
- VirtualizingPanel.cs
- IRCollection.cs
- EventMap.cs
- ToolStripRendererSwitcher.cs
- AnnotationResourceChangedEventArgs.cs
- FormViewCommandEventArgs.cs
- _TLSstream.cs
- RealizedColumnsBlock.cs
- UserValidatedEventArgs.cs
- DateTimeUtil.cs
- BackgroundFormatInfo.cs
- PagesSection.cs
- FixedSOMImage.cs
- LookupBindingPropertiesAttribute.cs
- WindowsHyperlink.cs
- HostProtectionPermission.cs
- Bidi.cs
- AnnotationService.cs
- OracleFactory.cs
- ContentTextAutomationPeer.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- LinearGradientBrush.cs
- DataGridViewSelectedCellCollection.cs
- XmlReflectionMember.cs