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
- ObjectHandle.cs
- EntityContainerRelationshipSetEnd.cs
- HatchBrush.cs
- EntityProviderFactory.cs
- FieldTemplateFactory.cs
- ProfileSection.cs
- GraphicsPath.cs
- MobileDeviceCapabilitiesSectionHandler.cs
- OrthographicCamera.cs
- ConsoleKeyInfo.cs
- MenuItemStyle.cs
- Deserializer.cs
- ThreadStartException.cs
- BuildDependencySet.cs
- SoapServerMethod.cs
- ExpressionBindingsDialog.cs
- DataContext.cs
- GetCertificateRequest.cs
- Operators.cs
- ResourceType.cs
- ButtonChrome.cs
- PageAdapter.cs
- CornerRadius.cs
- CheckBoxField.cs
- MultipleViewProviderWrapper.cs
- XPathConvert.cs
- SQLInt32.cs
- AuthenticationServiceManager.cs
- Form.cs
- UniformGrid.cs
- Identifier.cs
- DependencyProperty.cs
- SchemaMerger.cs
- validationstate.cs
- CompiledXpathExpr.cs
- ColorDialog.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- AssemblyUtil.cs
- Deserializer.cs
- SerializationEventsCache.cs
- AliasExpr.cs
- DataGridViewAccessibleObject.cs
- ConfigurationSettings.cs
- XmlSchemaExternal.cs
- TypeForwardedFromAttribute.cs
- Site.cs
- TemplateModeChangedEventArgs.cs
- Queue.cs
- InternalControlCollection.cs
- FormsAuthenticationUser.cs
- InputMethodStateChangeEventArgs.cs
- CompilationLock.cs
- translator.cs
- TextChange.cs
- StrokeCollection.cs
- XmlAttributeAttribute.cs
- Helpers.cs
- BoolExpression.cs
- XamlSerializerUtil.cs
- RunInstallerAttribute.cs
- CompilerGlobalScopeAttribute.cs
- Facet.cs
- TreeNodeEventArgs.cs
- WebConfigurationHostFileChange.cs
- BindingSource.cs
- AssociationSet.cs
- handlecollector.cs
- EventLogPermissionAttribute.cs
- HtmlTernaryTree.cs
- ModuleBuilderData.cs
- cookiecollection.cs
- LabelLiteral.cs
- Table.cs
- PersistStreamTypeWrapper.cs
- ConstrainedGroup.cs
- NativeWindow.cs
- DataBoundControlAdapter.cs
- VBCodeProvider.cs
- DefaultValidator.cs
- RowsCopiedEventArgs.cs
- ConnectionStringSettingsCollection.cs
- Odbc32.cs
- ImageFormat.cs
- ContextMenu.cs
- ZipIOCentralDirectoryBlock.cs
- InvalidateEvent.cs
- MsmqElementBase.cs
- InstallerTypeAttribute.cs
- handlecollector.cs
- DesignTimeVisibleAttribute.cs
- FrameworkElement.cs
- PermissionSetTriple.cs
- HttpProfileGroupBase.cs
- HttpCachePolicyElement.cs
- EntityType.cs
- GridViewUpdatedEventArgs.cs
- ListViewItemMouseHoverEvent.cs
- PageThemeParser.cs
- TypeInfo.cs
- XmlResolver.cs