Code:
/ 4.0 / 4.0 / 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. //---------------------------------------------------------------------------- // // 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
- DataGridCommandEventArgs.cs
- AsymmetricSignatureFormatter.cs
- PerformanceCounterPermission.cs
- NullableDecimalAverageAggregationOperator.cs
- OleAutBinder.cs
- AutomationProperty.cs
- Msec.cs
- TextElementEnumerator.cs
- FontSource.cs
- SqlConnectionFactory.cs
- NavigationPropertySingletonExpression.cs
- CompiledXpathExpr.cs
- CompilerResults.cs
- SystemGatewayIPAddressInformation.cs
- FormsAuthenticationModule.cs
- CheckBoxFlatAdapter.cs
- ConnectionConsumerAttribute.cs
- LinqDataView.cs
- TcpAppDomainProtocolHandler.cs
- VisualBasicExpressionConverter.cs
- DbConnectionStringBuilder.cs
- ConfigWriter.cs
- ConnectionString.cs
- QualificationDataItem.cs
- ContainerAction.cs
- KeyBinding.cs
- SerializationEventsCache.cs
- Permission.cs
- NameNode.cs
- EarlyBoundInfo.cs
- ReadOnlyDataSource.cs
- OutputCacheProfileCollection.cs
- ObjectQuery.cs
- Compilation.cs
- RuntimeWrappedException.cs
- ScalarType.cs
- CommandManager.cs
- GrammarBuilderDictation.cs
- InstalledFontCollection.cs
- CapabilitiesState.cs
- DataException.cs
- ItemCollection.cs
- Translator.cs
- DispatchWrapper.cs
- HtmlProps.cs
- SatelliteContractVersionAttribute.cs
- RequestTimeoutManager.cs
- DiffuseMaterial.cs
- WindowsListViewItemStartMenu.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- __ConsoleStream.cs
- Header.cs
- EntitySetDataBindingList.cs
- TextModifierScope.cs
- GlyphCollection.cs
- DataGridViewRowCollection.cs
- XmlnsCompatibleWithAttribute.cs
- baseshape.cs
- ContentElement.cs
- Baml2006Reader.cs
- DataSourceView.cs
- TextMessageEncodingBindingElement.cs
- MemoryMappedFile.cs
- PageCache.cs
- ProfilePropertyMetadata.cs
- LocalizationComments.cs
- Point3DAnimationUsingKeyFrames.cs
- EventLogPermissionAttribute.cs
- SelectorAutomationPeer.cs
- WorkflowTimerService.cs
- CultureInfoConverter.cs
- PrintDialog.cs
- ActivatedMessageQueue.cs
- AnnotationResource.cs
- DataGridViewCellPaintingEventArgs.cs
- DataGridViewCellPaintingEventArgs.cs
- UpdateProgress.cs
- SEHException.cs
- ObjectDataSourceDisposingEventArgs.cs
- RijndaelManagedTransform.cs
- XPathDocumentIterator.cs
- DataGrid.cs
- ToolZone.cs
- ViewLoader.cs
- StateDesigner.TransitionInfo.cs
- Aes.cs
- ListControl.cs
- ScrollViewerAutomationPeer.cs
- PrinterUnitConvert.cs
- LeafCellTreeNode.cs
- QilNode.cs
- Asn1IntegerConverter.cs
- GridEntry.cs
- WebPartZone.cs
- FormViewInsertEventArgs.cs
- ReflectionTypeLoadException.cs
- ServiceRouteHandler.cs
- DataList.cs
- SqlBulkCopy.cs
- StylusShape.cs