Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- dtdvalidator.cs
- ImageCodecInfo.cs
- Msec.cs
- InputDevice.cs
- Baml2006ReaderFrame.cs
- MultiTrigger.cs
- RequestResizeEvent.cs
- SimpleHandlerFactory.cs
- WebRequestModuleElement.cs
- Relationship.cs
- XmlHierarchyData.cs
- X509ChainPolicy.cs
- GPStream.cs
- ListViewHitTestInfo.cs
- PerfService.cs
- PackagePartCollection.cs
- COM2EnumConverter.cs
- DocumentSignatureManager.cs
- MenuItemStyle.cs
- BitmapData.cs
- Geometry.cs
- AdapterDictionary.cs
- DataTableClearEvent.cs
- Menu.cs
- QuadraticBezierSegment.cs
- TimeSpanValidator.cs
- HandledEventArgs.cs
- BoolExpression.cs
- SelectionPattern.cs
- IRCollection.cs
- Object.cs
- Utilities.cs
- GridSplitter.cs
- SpecularMaterial.cs
- HttpStaticObjectsCollectionBase.cs
- SafeSecurityHelper.cs
- FileLogRecord.cs
- BrowserDefinitionCollection.cs
- AccessText.cs
- InvalidEnumArgumentException.cs
- ObjectDataSourceMethodEventArgs.cs
- FileDialogCustomPlacesCollection.cs
- ParameterCollection.cs
- WindowsPen.cs
- SettingsPropertyCollection.cs
- UdpAnnouncementEndpoint.cs
- MessagePartSpecification.cs
- TypeContext.cs
- TextRunProperties.cs
- TextViewSelectionProcessor.cs
- CompositionAdorner.cs
- OpCellTreeNode.cs
- ArithmeticLiteral.cs
- StickyNoteAnnotations.cs
- GridViewSortEventArgs.cs
- JpegBitmapDecoder.cs
- ComponentEditorPage.cs
- DesignerDeviceConfig.cs
- HtmlForm.cs
- UserThread.cs
- SmtpException.cs
- SafeEventLogReadHandle.cs
- SubpageParaClient.cs
- FollowerQueueCreator.cs
- DataGridClipboardCellContent.cs
- MimeMultiPart.cs
- XmlException.cs
- DbConnectionInternal.cs
- AdapterUtil.cs
- PeerObject.cs
- ToolStripContainerDesigner.cs
- CopyNodeSetAction.cs
- OdbcConnectionStringbuilder.cs
- SafeLibraryHandle.cs
- DBBindings.cs
- ManagedFilter.cs
- ListManagerBindingsCollection.cs
- XmlAttributeOverrides.cs
- GenericAuthenticationEventArgs.cs
- CssClassPropertyAttribute.cs
- Themes.cs
- ParameterSubsegment.cs
- DictionarySectionHandler.cs
- SettingsPropertyNotFoundException.cs
- ProfileServiceManager.cs
- FileSystemInfo.cs
- Currency.cs
- Policy.cs
- HijriCalendar.cs
- AccessorTable.cs
- ConsoleTraceListener.cs
- FastPropertyAccessor.cs
- SettingsPropertyCollection.cs
- ThreadStateException.cs
- SqlDataSourceConfigureFilterForm.cs
- FixedSOMGroup.cs
- Model3DCollection.cs
- RequestCachingSection.cs
- UniqueIdentifierService.cs
- EventLog.cs