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
- PackageRelationshipSelector.cs
- ScriptingProfileServiceSection.cs
- ObjectParameterCollection.cs
- QueryableFilterUserControl.cs
- DescendantBaseQuery.cs
- controlskin.cs
- ResourceDisplayNameAttribute.cs
- TemplateManager.cs
- Activator.cs
- EntityPropertyMappingAttribute.cs
- SecurityException.cs
- ConfigurationException.cs
- MaskInputRejectedEventArgs.cs
- XmlStreamNodeWriter.cs
- LogStore.cs
- PasswordRecovery.cs
- PageAsyncTaskManager.cs
- EntitySetDataBindingList.cs
- XmlSchemaException.cs
- WebPartMovingEventArgs.cs
- ErrorStyle.cs
- FixedLineResult.cs
- CharStorage.cs
- FilteredReadOnlyMetadataCollection.cs
- TableRow.cs
- Zone.cs
- GetPageCompletedEventArgs.cs
- NavigatorInput.cs
- CodeParameterDeclarationExpressionCollection.cs
- RunClient.cs
- SingleAnimationBase.cs
- BulletedList.cs
- GacUtil.cs
- SafeNativeMethods.cs
- HttpStreamXmlDictionaryReader.cs
- SystemTcpConnection.cs
- QuaternionKeyFrameCollection.cs
- RSAPKCS1KeyExchangeFormatter.cs
- DetailsViewInsertedEventArgs.cs
- DataListItem.cs
- SetterBase.cs
- HttpProcessUtility.cs
- LinqDataSourceDeleteEventArgs.cs
- MultipartContentParser.cs
- PointHitTestParameters.cs
- XmlSchemaResource.cs
- AsynchronousChannel.cs
- HuffmanTree.cs
- GeneralTransform3DGroup.cs
- LogicalMethodInfo.cs
- EntityViewGenerationConstants.cs
- SqlParameterCollection.cs
- Bookmark.cs
- EditorZoneAutoFormat.cs
- RijndaelManaged.cs
- View.cs
- Keywords.cs
- IdentifierService.cs
- IndexedString.cs
- CreateUserWizard.cs
- CollaborationHelperFunctions.cs
- OracleDataAdapter.cs
- HandleValueEditor.cs
- ScrollPattern.cs
- ObjectListItem.cs
- OleDragDropHandler.cs
- OutputScopeManager.cs
- TypedServiceChannelBuilder.cs
- Win32SafeHandles.cs
- ListSourceHelper.cs
- DateTimeOffsetConverter.cs
- BinaryCommonClasses.cs
- TextTreeRootNode.cs
- EventWaitHandleSecurity.cs
- PersonalizationStateInfo.cs
- CallTemplateAction.cs
- SimpleExpression.cs
- SourceElementsCollection.cs
- DrawListViewItemEventArgs.cs
- AttachedAnnotation.cs
- PopupEventArgs.cs
- ToolBarTray.cs
- DoubleLinkList.cs
- SessionStateSection.cs
- ServiceOperationListItemList.cs
- Int64AnimationBase.cs
- CodeTypeOfExpression.cs
- XmlDataLoader.cs
- PaperSize.cs
- SafeNativeMethods.cs
- OleAutBinder.cs
- ElementsClipboardData.cs
- SyntaxCheck.cs
- IPAddressCollection.cs
- SqlComparer.cs
- WebPartDisplayModeCancelEventArgs.cs
- RuntimeArgumentHandle.cs
- PageVisual.cs
- X509SecurityTokenProvider.cs
- DistributedTransactionPermission.cs