Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Framework / MS / Internal / Controls / ValidationErrorCollection.cs / 1 / ValidationErrorCollection.cs
//---------------------------------------------------------------------------- // //// Copyright (C) 2003 by Microsoft Corporation. All rights reserved. // // // // Description: // ValidationErrorCollection contains the list of ValidationErrors from // the various Bindings and MultiBindings on an Element. ValidationErrorCollection // be set through the Validation.ErrorsProperty. // // See specs at http://avalon/connecteddata/Specs/Validation.mht // // History: // 5/3/2004 mharper: created. // //--------------------------------------------------------------------------- using System; using System.ComponentModel; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Windows; using System.Windows.Controls; using System.Windows.Data; namespace MS.Internal.Controls { ////// ValidationErrorCollection contains the list of ValidationErrors from /// the various Bindings and MultiBindings on an Element. ValidationErrorCollection /// be set through the Validation.ErrorsProperty. /// internal class ValidationErrorCollection : ObservableCollection{ /// /// Empty collection that serves as a default value for /// Validation.ErrorsProperty. /// public static readonly ReadOnlyObservableCollectionEmpty = new ReadOnlyObservableCollection (new ValidationErrorCollection()); /// /// called by base class Collection<T> when an item is added to list; /// protected override void InsertItem(int index, ValidationError item) { int existingIndex = FindErrorForBinding(item.BindingInError); // if there is already a ValidationError for this binding, // then throw if (existingIndex > -1) { throw new ArgumentException(SR.Get(SRID.DuplicatesNotAllowed), "validationError"); } base.InsertItem(index, item); } //----------------------------------------------------- // // Internal Methods // //----------------------------------------------------- #region Internal Methods static internal ReadOnlyObservableCollectionGetReadOnlyErrors(DependencyObject d) { ValidationErrorCollection errors = Validation.GetErrorsInternal(d); if (errors != null) { if (errors._readonlyWrapper == null) { errors._readonlyWrapper = new ReadOnlyObservableCollection (errors); } return errors._readonlyWrapper; } else { return Empty; } } #endregion Internal Methods //------------------------------------------------------ // // Private Methods // //----------------------------------------------------- #region Private Methods private int FindErrorForBinding(object binding) { for (int i = 0; i < this.Count; i++) { if (this[i].BindingInError == binding) { return i; } } return -1; } #endregion Private Methods ReadOnlyObservableCollection _readonlyWrapper; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // // // Copyright (C) 2003 by Microsoft Corporation. All rights reserved. // // // // Description: // ValidationErrorCollection contains the list of ValidationErrors from // the various Bindings and MultiBindings on an Element. ValidationErrorCollection // be set through the Validation.ErrorsProperty. // // See specs at http://avalon/connecteddata/Specs/Validation.mht // // History: // 5/3/2004 mharper: created. // //--------------------------------------------------------------------------- using System; using System.ComponentModel; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Windows; using System.Windows.Controls; using System.Windows.Data; namespace MS.Internal.Controls { ////// ValidationErrorCollection contains the list of ValidationErrors from /// the various Bindings and MultiBindings on an Element. ValidationErrorCollection /// be set through the Validation.ErrorsProperty. /// internal class ValidationErrorCollection : ObservableCollection{ /// /// Empty collection that serves as a default value for /// Validation.ErrorsProperty. /// public static readonly ReadOnlyObservableCollectionEmpty = new ReadOnlyObservableCollection (new ValidationErrorCollection()); /// /// called by base class Collection<T> when an item is added to list; /// protected override void InsertItem(int index, ValidationError item) { int existingIndex = FindErrorForBinding(item.BindingInError); // if there is already a ValidationError for this binding, // then throw if (existingIndex > -1) { throw new ArgumentException(SR.Get(SRID.DuplicatesNotAllowed), "validationError"); } base.InsertItem(index, item); } //----------------------------------------------------- // // Internal Methods // //----------------------------------------------------- #region Internal Methods static internal ReadOnlyObservableCollectionGetReadOnlyErrors(DependencyObject d) { ValidationErrorCollection errors = Validation.GetErrorsInternal(d); if (errors != null) { if (errors._readonlyWrapper == null) { errors._readonlyWrapper = new ReadOnlyObservableCollection (errors); } return errors._readonlyWrapper; } else { return Empty; } } #endregion Internal Methods //------------------------------------------------------ // // Private Methods // //----------------------------------------------------- #region Private Methods private int FindErrorForBinding(object binding) { for (int i = 0; i < this.Count; i++) { if (this[i].BindingInError == binding) { return i; } } return -1; } #endregion Private Methods ReadOnlyObservableCollection _readonlyWrapper; } } // 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
- ToolStripDropDownMenu.cs
- DesignerCategoryAttribute.cs
- StickyNoteContentControl.cs
- ValueChangedEventManager.cs
- GridViewEditEventArgs.cs
- RadioButtonList.cs
- IImplicitResourceProvider.cs
- HandledEventArgs.cs
- BulletDecorator.cs
- XmlSignificantWhitespace.cs
- Util.cs
- _ConnectionGroup.cs
- ReaderContextStackData.cs
- SessionSwitchEventArgs.cs
- coordinator.cs
- UIElementParagraph.cs
- CryptoHandle.cs
- CompositeFontParser.cs
- PopupRootAutomationPeer.cs
- NamedPipeConnectionPool.cs
- GlyphShapingProperties.cs
- CellRelation.cs
- ExternalFile.cs
- UrlRoutingHandler.cs
- PasswordRecovery.cs
- ReadOnlyPropertyMetadata.cs
- FileUtil.cs
- UseLicense.cs
- CodeMemberMethod.cs
- TextElementEnumerator.cs
- BitmapEffectGeneralTransform.cs
- MetafileEditor.cs
- TextModifierScope.cs
- SystemWebCachingSectionGroup.cs
- AppSecurityManager.cs
- OleDbPropertySetGuid.cs
- PageThemeParser.cs
- tooltip.cs
- PoisonMessageException.cs
- RowBinding.cs
- TypeRefElement.cs
- ExtensionSimplifierMarkupObject.cs
- PeerContact.cs
- _HelperAsyncResults.cs
- BrowserCapabilitiesCodeGenerator.cs
- DetailsView.cs
- TagNameToTypeMapper.cs
- PreProcessInputEventArgs.cs
- FontCollection.cs
- DesignerEditorPartChrome.cs
- ProfilePropertySettingsCollection.cs
- BufferBuilder.cs
- DesignerDataSourceView.cs
- ColumnCollection.cs
- Registry.cs
- PropertyKey.cs
- TextClipboardData.cs
- Site.cs
- BulletDecorator.cs
- ProfileInfo.cs
- XmlAnyElementAttribute.cs
- _NegoStream.cs
- DragDeltaEventArgs.cs
- BrowserCapabilitiesFactoryBase.cs
- OdbcConnection.cs
- UxThemeWrapper.cs
- RelationshipDetailsRow.cs
- TabItem.cs
- HandleExceptionArgs.cs
- SiteMapDataSourceView.cs
- ObjectTypeMapping.cs
- PeerNearMe.cs
- EFDataModelProvider.cs
- ZipPackagePart.cs
- ApplicationInfo.cs
- DesignOnlyAttribute.cs
- BuilderPropertyEntry.cs
- SchemaReference.cs
- ListViewItem.cs
- SqlMethodTransformer.cs
- CollectionContainer.cs
- XmlRawWriter.cs
- JournalEntry.cs
- HttpModuleCollection.cs
- DocumentReference.cs
- DataServiceResponse.cs
- PersonalizableTypeEntry.cs
- ObjectListItemCollection.cs
- AssemblyBuilder.cs
- ListViewTableCell.cs
- HwndSource.cs
- Panel.cs
- DemultiplexingDispatchMessageFormatter.cs
- BaseTreeIterator.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- ProxyManager.cs
- ContentPropertyAttribute.cs
- StringAnimationBase.cs
- XDeferredAxisSource.cs
- CustomErrorsSectionWrapper.cs