Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- PrintPreviewDialog.cs
- HitTestDrawingContextWalker.cs
- PrefixQName.cs
- AsyncStreamReader.cs
- CheckBoxAutomationPeer.cs
- AutomationAttributeInfo.cs
- SqlRowUpdatedEvent.cs
- CompilerLocalReference.cs
- RowType.cs
- PartBasedPackageProperties.cs
- XPathNodeList.cs
- RemotingServices.cs
- securestring.cs
- FixedHighlight.cs
- FigureParaClient.cs
- Drawing.cs
- BaseProcessor.cs
- BitmapEffectInputData.cs
- SecureEnvironment.cs
- GridViewHeaderRowPresenter.cs
- ToolStripDropDownMenu.cs
- ToolStripCodeDomSerializer.cs
- ProfileEventArgs.cs
- EncoderParameters.cs
- DllNotFoundException.cs
- ClientProxyGenerator.cs
- EntityDataSourceReferenceGroup.cs
- HotSpotCollection.cs
- ParameterSubsegment.cs
- DefaultMemberAttribute.cs
- Point.cs
- Exceptions.cs
- DataColumnMappingCollection.cs
- SystemNetworkInterface.cs
- MessageQueueTransaction.cs
- OdbcConnection.cs
- InfoCardRequestException.cs
- WorkflowMarkupSerializerMapping.cs
- TCEAdapterGenerator.cs
- LayoutEngine.cs
- InvalidPrinterException.cs
- SQLByteStorage.cs
- RemotingAttributes.cs
- securitycriticaldataformultiplegetandset.cs
- StickyNoteHelper.cs
- CodeBinaryOperatorExpression.cs
- Int32Animation.cs
- ObjectTokenCategory.cs
- DragDropHelper.cs
- AppDomainProtocolHandler.cs
- SRGSCompiler.cs
- SmtpLoginAuthenticationModule.cs
- DeflateEmulationStream.cs
- DbReferenceCollection.cs
- XmlDictionary.cs
- DataGridViewCellCancelEventArgs.cs
- TagMapInfo.cs
- TypeSource.cs
- ZoomPercentageConverter.cs
- ToolboxBitmapAttribute.cs
- SequenceNumber.cs
- SiteMapDataSourceView.cs
- RtfToXamlLexer.cs
- MultiBindingExpression.cs
- DataBoundControlHelper.cs
- _Win32.cs
- PageThemeBuildProvider.cs
- PreloadedPackages.cs
- configsystem.cs
- OrderPreservingPipeliningMergeHelper.cs
- PaginationProgressEventArgs.cs
- XamlSerializer.cs
- ContainerVisual.cs
- TableRowGroup.cs
- HtmlLink.cs
- AssemblyCache.cs
- XmlChildEnumerator.cs
- AdRotator.cs
- DiagnosticTrace.cs
- MultipartContentParser.cs
- AutomationPropertyInfo.cs
- ValueTypeFixupInfo.cs
- NavigateEvent.cs
- ToolboxItemFilterAttribute.cs
- TripleDES.cs
- BinaryEditor.cs
- CrossAppDomainChannel.cs
- SubMenuStyle.cs
- DataErrorValidationRule.cs
- StateBag.cs
- FilterElement.cs
- SettingsPropertyValue.cs
- WindowsListViewGroupHelper.cs
- ImageDrawing.cs
- SafeNativeMethodsOther.cs
- MtomMessageEncodingElement.cs
- OleDbErrorCollection.cs
- StringBlob.cs
- ReadOnlyCollection.cs
- ChannelSinkStacks.cs