Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- X509CertificateInitiatorServiceCredential.cs
- ListChangedEventArgs.cs
- Message.cs
- TargetParameterCountException.cs
- ProfilePropertySettings.cs
- ScriptReferenceEventArgs.cs
- CellPartitioner.cs
- AnchoredBlock.cs
- ExpressionPrefixAttribute.cs
- httpstaticobjectscollection.cs
- LingerOption.cs
- CodeGeneratorAttribute.cs
- HttpRequestCacheValidator.cs
- ZipIOExtraField.cs
- CompilerError.cs
- Storyboard.cs
- CompositeScriptReference.cs
- EventItfInfo.cs
- ItemContainerGenerator.cs
- DataMisalignedException.cs
- RenderDataDrawingContext.cs
- TrackBarDesigner.cs
- StartFileNameEditor.cs
- CommonDialog.cs
- EventMappingSettingsCollection.cs
- SerializationStore.cs
- FormViewDeletedEventArgs.cs
- ScaleTransform.cs
- DoubleLinkList.cs
- ConfigurationManagerHelperFactory.cs
- BinaryReader.cs
- MultilineStringConverter.cs
- assemblycache.cs
- XmlAttributeCollection.cs
- ButtonAutomationPeer.cs
- FormClosedEvent.cs
- JsonReaderWriterFactory.cs
- SqlClientFactory.cs
- TypeDescriptor.cs
- DeviceSpecific.cs
- DataViewManager.cs
- ArgumentOutOfRangeException.cs
- CancelEventArgs.cs
- XPathArrayIterator.cs
- Thread.cs
- InvalidCastException.cs
- BmpBitmapEncoder.cs
- ConstructorBuilder.cs
- ListViewGroupConverter.cs
- XmlTypeMapping.cs
- DataSetUtil.cs
- MsmqChannelListenerBase.cs
- WindowsAuthenticationEventArgs.cs
- OperationFormatUse.cs
- DependentList.cs
- WhitespaceRule.cs
- ValidatedControlConverter.cs
- PixelShader.cs
- Msec.cs
- TextChange.cs
- SqlCacheDependencySection.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- HttpModuleCollection.cs
- ProfileModule.cs
- CounterCreationDataConverter.cs
- CustomSignedXml.cs
- DesignSurfaceEvent.cs
- XPathDocumentNavigator.cs
- mil_sdk_version.cs
- SafeCryptoHandles.cs
- CatalogPart.cs
- Activator.cs
- _AutoWebProxyScriptEngine.cs
- shaperfactory.cs
- HttpCapabilitiesEvaluator.cs
- XmlSchemaAll.cs
- CustomAttribute.cs
- ListViewSelectEventArgs.cs
- Lazy.cs
- ThreadExceptionDialog.cs
- ImageEditor.cs
- DataGridViewRowPrePaintEventArgs.cs
- RuntimeHelpers.cs
- MsmqIntegrationReceiveParameters.cs
- URLIdentityPermission.cs
- DataTemplate.cs
- IgnorePropertiesAttribute.cs
- CryptoStream.cs
- Timer.cs
- BooleanSwitch.cs
- TableItemPattern.cs
- ReliabilityContractAttribute.cs
- XmlSchemaComplexType.cs
- State.cs
- LinqDataSourceContextEventArgs.cs
- XmlNodeReader.cs
- DesignTimeSiteMapProvider.cs
- SqlStream.cs
- DataTableClearEvent.cs
- XmlSchemaAttributeGroupRef.cs