Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / MS / Internal / Data / BindingCollection.cs / 1 / BindingCollection.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: Defines BindingList object, a list of binds. // // Specs: [....]/connecteddata/M5%20Specs/UIBind.mht // //--------------------------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Diagnostics; using System.Windows; using System.Windows.Markup; using System.Windows.Data; using MS.Utility; using MS.Internal; namespace MS.Internal.Data { ////// A list of bindingss, used by MultiBinding classes. /// internal class BindingCollection : Collection{ //----------------------------------------------------- // // Constructors // //----------------------------------------------------- /// Constructor internal BindingCollection(BindingBase owner, BindingCollectionChangedCallback callback) { Invariant.Assert(owner != null && callback != null); _owner = owner; _collectionChangedCallback = callback; } // disable default constructor private BindingCollection() { } //------------------------------------------------------ // // Protected Methods // //----------------------------------------------------- #region Protected Methods ////// called by base class Collection<T> when the list is being cleared; /// raises a CollectionChanged event to any listeners /// protected override void ClearItems() { _owner.CheckSealed(); base.ClearItems(); OnBindingCollectionChanged(); } ////// called by base class Collection<T> when an item is removed from list; /// raises a CollectionChanged event to any listeners /// protected override void RemoveItem(int index) { _owner.CheckSealed(); base.RemoveItem(index); OnBindingCollectionChanged(); } ////// called by base class Collection<T> when an item is added to list; /// raises a CollectionChanged event to any listeners /// protected override void InsertItem(int index, BindingBase item) { if (item == null) throw new ArgumentNullException("item"); ValidateItem(item); _owner.CheckSealed(); base.InsertItem(index, item); OnBindingCollectionChanged(); } ////// called by base class Collection<T> when an item is added to list; /// raises a CollectionChanged event to any listeners /// protected override void SetItem(int index, BindingBase item) { if (item == null) throw new ArgumentNullException("item"); ValidateItem(item); _owner.CheckSealed(); base.SetItem(index, item); OnBindingCollectionChanged(); } #endregion Protected Methods //------------------------------------------------------ // // Private Methods // //------------------------------------------------------ void ValidateItem(BindingBase binding) { // for V1, we only allow Binding as an item of BindingCollection. if (!(binding is Binding)) throw new NotSupportedException(SR.Get(SRID.BindingCollectionContainsNonBinding, binding.GetType().Name)); } void OnBindingCollectionChanged() { if (_collectionChangedCallback != null) _collectionChangedCallback(); } //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ BindingBase _owner; private BindingCollectionChangedCallback _collectionChangedCallback; } // the delegate to use for getting BindingListChanged notifications internal delegate void BindingCollectionChangedCallback(); } // 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
- XmlAttributeCache.cs
- UrlAuthFailedErrorFormatter.cs
- TraceHandlerErrorFormatter.cs
- TypeForwardedToAttribute.cs
- SecurityNegotiationException.cs
- FormatterServices.cs
- ProcessHostFactoryHelper.cs
- ByteConverter.cs
- _NtlmClient.cs
- IntPtr.cs
- StorageInfo.cs
- PageAsyncTaskManager.cs
- ItemsControl.cs
- GZipUtils.cs
- QuaternionAnimation.cs
- SqlDependencyUtils.cs
- TypeSystem.cs
- Clock.cs
- ControlParameter.cs
- securitycriticaldataClass.cs
- TextPointer.cs
- XmlAutoDetectWriter.cs
- CreateParams.cs
- CLSCompliantAttribute.cs
- SecurityDescriptor.cs
- LowerCaseStringConverter.cs
- MemoryMappedViewStream.cs
- WorkflowApplicationAbortedException.cs
- ConfigUtil.cs
- UrlAuthFailedErrorFormatter.cs
- Dump.cs
- HttpHandlerAction.cs
- DataFormat.cs
- invalidudtexception.cs
- ThreadSafeList.cs
- mediaeventargs.cs
- SingleConverter.cs
- StorageAssociationTypeMapping.cs
- SafeWaitHandle.cs
- WebPart.cs
- Triangle.cs
- ServiceX509SecurityTokenProvider.cs
- BitmapEffectInput.cs
- WebHttpDispatchOperationSelector.cs
- X509CertificateTrustedIssuerElementCollection.cs
- ServiceOperationHelpers.cs
- ElementMarkupObject.cs
- OdbcReferenceCollection.cs
- DataServiceEntityAttribute.cs
- SerializationFieldInfo.cs
- ListViewDeleteEventArgs.cs
- SoapSchemaMember.cs
- Window.cs
- TableCell.cs
- DeleteCardRequest.cs
- CollectionChangeEventArgs.cs
- MessageCredentialType.cs
- PerformanceCounterCategory.cs
- AddInProcess.cs
- Transform.cs
- dtdvalidator.cs
- KeyFrames.cs
- GZipObjectSerializer.cs
- FontCacheUtil.cs
- FormViewDeletedEventArgs.cs
- SHA1CryptoServiceProvider.cs
- RequestCacheEntry.cs
- LocalValueEnumerator.cs
- X509KeyIdentifierClauseType.cs
- _BufferOffsetSize.cs
- TreeNodeSelectionProcessor.cs
- StorageComplexPropertyMapping.cs
- WebPartsSection.cs
- MD5.cs
- DateTimeStorage.cs
- SynchronizedInputProviderWrapper.cs
- Polyline.cs
- BindingMemberInfo.cs
- TextLineResult.cs
- ListBox.cs
- ProfessionalColorTable.cs
- DataGridViewButtonColumn.cs
- PenLineJoinValidation.cs
- Optimizer.cs
- BufferModeSettings.cs
- LingerOption.cs
- EnumBuilder.cs
- MulticastNotSupportedException.cs
- ProvidePropertyAttribute.cs
- MexNamedPipeBindingCollectionElement.cs
- PageThemeParser.cs
- DomNameTable.cs
- MessageSmuggler.cs
- LayoutEvent.cs
- XmlEncodedRawTextWriter.cs
- CodeCommentStatementCollection.cs
- Pair.cs
- DataViewManager.cs
- DesignerOptionService.cs
- TabletDevice.cs