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
- XamlStream.cs
- DynamicControlParameter.cs
- SqlNotificationRequest.cs
- ThousandthOfEmRealDoubles.cs
- GB18030Encoding.cs
- DoubleCollectionValueSerializer.cs
- EntityEntry.cs
- WebPartConnectionsDisconnectVerb.cs
- WmlTextViewAdapter.cs
- XmlDataImplementation.cs
- __TransparentProxy.cs
- FormsAuthenticationModule.cs
- ClientConvert.cs
- TreeViewImageKeyConverter.cs
- PlatformCulture.cs
- QilGenerator.cs
- ScrollItemPattern.cs
- PasswordRecovery.cs
- dsa.cs
- DataServiceStreamResponse.cs
- TemplateBindingExtension.cs
- FieldToken.cs
- ObjectStateManager.cs
- GenericPrincipal.cs
- HierarchicalDataBoundControl.cs
- Pair.cs
- EventProviderTraceListener.cs
- StylusOverProperty.cs
- Crypto.cs
- XpsFilter.cs
- CodeMemberProperty.cs
- Application.cs
- ConvertEvent.cs
- Char.cs
- TraceListener.cs
- CaseInsensitiveHashCodeProvider.cs
- GridViewDeletedEventArgs.cs
- SecurityException.cs
- _LoggingObject.cs
- NotifyCollectionChangedEventArgs.cs
- GridViewSortEventArgs.cs
- AnnotationMap.cs
- NetSectionGroup.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- ListDataBindEventArgs.cs
- SoapWriter.cs
- TransformPatternIdentifiers.cs
- Publisher.cs
- MessageProperties.cs
- ConfigXmlComment.cs
- DynamicQueryableWrapper.cs
- _FtpControlStream.cs
- ElementsClipboardData.cs
- EventBindingService.cs
- Selection.cs
- MembershipPasswordException.cs
- FileRecordSequence.cs
- MultiByteCodec.cs
- UnmanagedMemoryStream.cs
- CodeTypeConstructor.cs
- ScriptRegistrationManager.cs
- StylusEditingBehavior.cs
- LassoSelectionBehavior.cs
- StateBag.cs
- InputScope.cs
- TrackingServices.cs
- XsdValidatingReader.cs
- DoubleUtil.cs
- TypefaceMap.cs
- HostingEnvironmentSection.cs
- AQNBuilder.cs
- IntegrationExceptionEventArgs.cs
- GenericRootAutomationPeer.cs
- HttpStreamMessage.cs
- ProfileGroupSettings.cs
- unitconverter.cs
- ClientProxyGenerator.cs
- DataContractJsonSerializer.cs
- DbDataAdapter.cs
- HttpProcessUtility.cs
- SafeCryptoHandles.cs
- XsltQilFactory.cs
- PackWebRequestFactory.cs
- SafeHandle.cs
- baseshape.cs
- ApplyImportsAction.cs
- EntityProviderServices.cs
- CommonEndpointBehaviorElement.cs
- TreeNode.cs
- DataViewSetting.cs
- CloseCollectionAsyncResult.cs
- ResourceBinder.cs
- ButtonChrome.cs
- ParameterElement.cs
- CustomUserNameSecurityTokenAuthenticator.cs
- DataObjectEventArgs.cs
- GeometryGroup.cs
- XamlToRtfWriter.cs
- SqlRowUpdatingEvent.cs
- XPathAxisIterator.cs