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
- LocatorPart.cs
- DigitShape.cs
- HtmlEmptyTagControlBuilder.cs
- SelectionItemPattern.cs
- ThemeInfoAttribute.cs
- InternalPermissions.cs
- TimeSpanParse.cs
- TextEvent.cs
- RangeValuePatternIdentifiers.cs
- PathGeometry.cs
- CommonDialog.cs
- NotifyInputEventArgs.cs
- HtmlMeta.cs
- MessageDecoder.cs
- StringArrayConverter.cs
- TransformConverter.cs
- DocumentPageViewAutomationPeer.cs
- DirectoryInfo.cs
- XmlParser.cs
- RangeBaseAutomationPeer.cs
- compensatingcollection.cs
- SQLDecimalStorage.cs
- SchemaLookupTable.cs
- XmlSchemaDatatype.cs
- SelectedGridItemChangedEvent.cs
- DataGridTable.cs
- LinqMaximalSubtreeNominator.cs
- TabletDevice.cs
- SessionPageStateSection.cs
- SlipBehavior.cs
- LoadWorkflowCommand.cs
- IPipelineRuntime.cs
- CommandID.cs
- FixedHyperLink.cs
- MailWebEventProvider.cs
- TargetConverter.cs
- DynamicRendererThreadManager.cs
- DataGridViewLayoutData.cs
- Process.cs
- OracleCommand.cs
- XLinq.cs
- StorageAssociationTypeMapping.cs
- FolderBrowserDialog.cs
- OleDbPermission.cs
- MessageQueueCriteria.cs
- DocumentViewerHelper.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- WindowsAltTab.cs
- NavigatorInvalidBodyAccessException.cs
- BaseAsyncResult.cs
- XPathNavigatorKeyComparer.cs
- LongValidator.cs
- HybridDictionary.cs
- InstancePersistenceEvent.cs
- DropShadowEffect.cs
- CancelRequestedRecord.cs
- DataGridSortCommandEventArgs.cs
- ValueQuery.cs
- MetabaseSettingsIis7.cs
- FileDialogCustomPlace.cs
- Walker.cs
- MimeTypeAttribute.cs
- FixedTextPointer.cs
- Setter.cs
- DataGridViewAutoSizeModeEventArgs.cs
- TextTreeUndo.cs
- RootNamespaceAttribute.cs
- SqlMethodCallConverter.cs
- ForEachAction.cs
- SimpleExpression.cs
- DbConvert.cs
- Char.cs
- EventBuilder.cs
- DefaultValueConverter.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- FileSecurity.cs
- ImageMetadata.cs
- XmlEntityReference.cs
- ProxyAttribute.cs
- FlowLayoutSettings.cs
- ProviderSettings.cs
- ArrayElementGridEntry.cs
- ProtocolsConfigurationHandler.cs
- RelativeSource.cs
- TokenBasedSetEnumerator.cs
- Tag.cs
- Oci.cs
- DefaultAsyncDataDispatcher.cs
- CommonEndpointBehaviorElement.cs
- RootCodeDomSerializer.cs
- ErrorItem.cs
- ImageBrush.cs
- MetafileHeader.cs
- IndependentAnimationStorage.cs
- EmptyEnumerable.cs
- InternalMappingException.cs
- CustomExpressionEventArgs.cs
- WebPartEditVerb.cs
- XmlSchemaComplexContentExtension.cs
- RelativeSource.cs