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
- ObjectSet.cs
- DataColumnCollection.cs
- SEHException.cs
- SendMailErrorEventArgs.cs
- RowToParametersTransformer.cs
- NetDataContractSerializer.cs
- CollectionChangeEventArgs.cs
- CanExpandCollapseAllConverter.cs
- SizeAnimationClockResource.cs
- PatternMatcher.cs
- Ticks.cs
- ConfigurationSection.cs
- Collection.cs
- SurrogateEncoder.cs
- Double.cs
- RadioButtonRenderer.cs
- TextTreeInsertElementUndoUnit.cs
- BitmapScalingModeValidation.cs
- LocalBuilder.cs
- WebPartTransformerCollection.cs
- ResourceExpressionBuilder.cs
- Cursor.cs
- DisplayNameAttribute.cs
- SoapClientMessage.cs
- LambdaCompiler.Unary.cs
- HttpSysSettings.cs
- DataObjectSettingDataEventArgs.cs
- TextParagraphCache.cs
- SecurityCookieModeValidator.cs
- ObfuscateAssemblyAttribute.cs
- ConstraintManager.cs
- IntPtr.cs
- ReflectionServiceProvider.cs
- DataTablePropertyDescriptor.cs
- TableLayoutColumnStyleCollection.cs
- UnionExpr.cs
- PerformanceCounterManager.cs
- CutCopyPasteHelper.cs
- PointAnimationBase.cs
- EntityContainerRelationshipSetEnd.cs
- SqlRecordBuffer.cs
- HtmlTitle.cs
- InputReferenceExpression.cs
- WindowsListViewScroll.cs
- SspiHelper.cs
- ConnectionConsumerAttribute.cs
- ParameterBuilder.cs
- TypeNameHelper.cs
- QilChoice.cs
- FacetDescription.cs
- MethodImplAttribute.cs
- StoryFragments.cs
- BindingContext.cs
- ByteAnimation.cs
- OpCodes.cs
- SourceInterpreter.cs
- wgx_render.cs
- Image.cs
- PresentationSource.cs
- InvokeHandlers.cs
- HashMembershipCondition.cs
- RuntimeIdentifierPropertyAttribute.cs
- ServiceModelEnumValidator.cs
- HttpListener.cs
- UniqueEventHelper.cs
- XamlToRtfWriter.cs
- IpcManager.cs
- ValueConversionAttribute.cs
- TransformerTypeCollection.cs
- TextShapeableCharacters.cs
- DockPanel.cs
- WebPartDescriptionCollection.cs
- _FtpDataStream.cs
- BufferedResponseStream.cs
- HttpPostClientProtocol.cs
- CheckBoxField.cs
- ChannelCredentials.cs
- SoapEnvelopeProcessingElement.cs
- Cursor.cs
- WebBrowserProgressChangedEventHandler.cs
- HtmlEncodedRawTextWriter.cs
- XmlDocumentFragment.cs
- MultiTrigger.cs
- FixedNode.cs
- ClientSponsor.cs
- RequestCacheValidator.cs
- DataGridViewTextBoxEditingControl.cs
- BitmapEffectCollection.cs
- DesignTimeVisibleAttribute.cs
- ToolBar.cs
- Soap11ServerProtocol.cs
- XmlWhitespace.cs
- XmlName.cs
- TagPrefixCollection.cs
- EUCJPEncoding.cs
- InkCanvasSelection.cs
- ListViewGroupConverter.cs
- MarkupCompilePass2.cs
- SerialReceived.cs
- GrammarBuilder.cs