Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- BuildProviderCollection.cs
- ElementProxy.cs
- embossbitmapeffect.cs
- HttpModulesSection.cs
- ConfigurationSectionGroupCollection.cs
- DetailsViewDeletedEventArgs.cs
- Substitution.cs
- CaseInsensitiveComparer.cs
- HtmlGenericControl.cs
- SourceFileBuildProvider.cs
- TextTreeInsertElementUndoUnit.cs
- formatstringdialog.cs
- PathGradientBrush.cs
- TableDetailsCollection.cs
- CompilerGeneratedAttribute.cs
- ArrayMergeHelper.cs
- SHA384.cs
- HttpCapabilitiesEvaluator.cs
- RelationalExpressions.cs
- AttachmentService.cs
- PeerNameResolver.cs
- KeyInterop.cs
- ClientRoleProvider.cs
- WebPartZoneBase.cs
- StringToken.cs
- CodeSubDirectoriesCollection.cs
- MasterPageCodeDomTreeGenerator.cs
- AnnotationMap.cs
- TransformCryptoHandle.cs
- FontFamily.cs
- CacheEntry.cs
- HtmlShim.cs
- RegexBoyerMoore.cs
- PromptEventArgs.cs
- BaseCollection.cs
- DataDocumentXPathNavigator.cs
- StylusPointProperties.cs
- ProcessHost.cs
- ReadOnlyPropertyMetadata.cs
- Common.cs
- DataGridViewCellFormattingEventArgs.cs
- InputBuffer.cs
- QualifierSet.cs
- DrawTreeNodeEventArgs.cs
- WebPartCancelEventArgs.cs
- TypeConverterHelper.cs
- TextEditorMouse.cs
- MimeFormatExtensions.cs
- ElementFactory.cs
- DisableDpiAwarenessAttribute.cs
- BaseCAMarshaler.cs
- SqlDataSourceQueryEditor.cs
- FormsIdentity.cs
- AudioFormatConverter.cs
- UnsafeNativeMethodsPenimc.cs
- MemberDomainMap.cs
- HostnameComparisonMode.cs
- TypeTypeConverter.cs
- CachingHintValidation.cs
- WebPartDisplayModeEventArgs.cs
- DynamicPropertyHolder.cs
- SmiEventStream.cs
- RectangleHotSpot.cs
- documentsequencetextcontainer.cs
- MimePart.cs
- OverrideMode.cs
- SafeNativeMethods.cs
- ConnectionModeReader.cs
- XmlAttribute.cs
- XmlSchemaImport.cs
- XmlParserContext.cs
- MenuStrip.cs
- RegexWriter.cs
- SQLGuidStorage.cs
- CharAnimationBase.cs
- AssemblyBuilder.cs
- HtmlTextArea.cs
- StreamUpgradeAcceptor.cs
- ErrorsHelper.cs
- SerialErrors.cs
- FileNotFoundException.cs
- Module.cs
- AutomationFocusChangedEventArgs.cs
- FontEmbeddingManager.cs
- ExtendedProperty.cs
- TypedElement.cs
- Tracer.cs
- DbParameterHelper.cs
- IgnorePropertiesAttribute.cs
- HMACSHA512.cs
- TextElementEnumerator.cs
- ToolboxItemAttribute.cs
- ComponentDispatcher.cs
- WebPartMenuStyle.cs
- DbMetaDataFactory.cs
- Int32EqualityComparer.cs
- SqlDelegatedTransaction.cs
- DataAdapter.cs
- BitmapCodecInfoInternal.cs
- MailWriter.cs