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
- WbmpConverter.cs
- SqlRowUpdatingEvent.cs
- MulticastOption.cs
- WorkflowStateRollbackService.cs
- LowerCaseStringConverter.cs
- PolyQuadraticBezierSegment.cs
- DataSetMappper.cs
- GridEntry.cs
- CodeTypeDeclarationCollection.cs
- Facet.cs
- VirtualDirectoryMapping.cs
- FixedSOMLineRanges.cs
- compensatingcollection.cs
- Attachment.cs
- SqlException.cs
- ObjectParameter.cs
- Invariant.cs
- JapaneseCalendar.cs
- HWStack.cs
- DateBoldEvent.cs
- X509UI.cs
- FullTrustAssembly.cs
- TraceData.cs
- MemberAccessException.cs
- ResourceManagerWrapper.cs
- SqlAliaser.cs
- BasePropertyDescriptor.cs
- MediaTimeline.cs
- DoubleCollectionConverter.cs
- TypedTableGenerator.cs
- HttpRequestCacheValidator.cs
- SecureConversationVersion.cs
- Floater.cs
- CapabilitiesAssignment.cs
- ResolveCriteriaApril2005.cs
- BitmapPalette.cs
- TreeNodeBindingCollection.cs
- PageContent.cs
- SslStreamSecurityUpgradeProvider.cs
- GenericUriParser.cs
- ExpressionNode.cs
- ResourceDefaultValueAttribute.cs
- ControlBindingsCollection.cs
- CancelRequestedRecord.cs
- ToolBar.cs
- GcSettings.cs
- UrlAuthorizationModule.cs
- StaticSiteMapProvider.cs
- LinkLabelLinkClickedEvent.cs
- ExclusiveTcpListener.cs
- FormViewPagerRow.cs
- RequestBringIntoViewEventArgs.cs
- SignatureHelper.cs
- remotingproxy.cs
- ApplicationFileCodeDomTreeGenerator.cs
- QuotedPrintableStream.cs
- XsdValidatingReader.cs
- CheckPair.cs
- ConnectionStringSettingsCollection.cs
- IOThreadTimer.cs
- WinCategoryAttribute.cs
- EmptyReadOnlyDictionaryInternal.cs
- UIElement3D.cs
- ObjectListFieldsPage.cs
- Double.cs
- Glyph.cs
- sapiproxy.cs
- CommonServiceBehaviorElement.cs
- TextEditorTyping.cs
- ListViewGroupCollectionEditor.cs
- EntryWrittenEventArgs.cs
- WebPartEditorApplyVerb.cs
- SamlAuthorizationDecisionStatement.cs
- ComIntegrationManifestGenerator.cs
- SqlBinder.cs
- LocatorBase.cs
- WriteableBitmap.cs
- EnumMember.cs
- SystemIcmpV6Statistics.cs
- TypeEnumerableViewSchema.cs
- ISFTagAndGuidCache.cs
- OleStrCAMarshaler.cs
- SchemaConstraints.cs
- CoreSwitches.cs
- ParseElement.cs
- ConditionalAttribute.cs
- RegularExpressionValidator.cs
- StylusPointPropertyInfoDefaults.cs
- UIElementHelper.cs
- UnsafeNativeMethods.cs
- Attribute.cs
- TableLayoutPanel.cs
- ColumnPropertiesGroup.cs
- EventData.cs
- PerfCounters.cs
- DrawingGroup.cs
- LineProperties.cs
- XamlWriter.cs
- ColumnPropertiesGroup.cs
- CompiledQuery.cs