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
- FirstMatchCodeGroup.cs
- BridgeDataRecord.cs
- ToolStripComboBox.cs
- XmlNodeList.cs
- AspNetSynchronizationContext.cs
- AuthenticationModulesSection.cs
- HttpCookie.cs
- XPathChildIterator.cs
- Border.cs
- Utils.cs
- QueryGenerator.cs
- PrintDialog.cs
- EntityDataSourceDesignerHelper.cs
- Membership.cs
- MenuStrip.cs
- StandardOleMarshalObject.cs
- ObjectDataSourceDisposingEventArgs.cs
- RemoveStoryboard.cs
- Dynamic.cs
- QilFunction.cs
- Formatter.cs
- Column.cs
- XamlSerializer.cs
- COM2Enum.cs
- JsonFormatReaderGenerator.cs
- AffineTransform3D.cs
- NavigationFailedEventArgs.cs
- ConsoleKeyInfo.cs
- NamedPipeTransportBindingElement.cs
- OrderingInfo.cs
- CodeTypeDeclarationCollection.cs
- MasterPageParser.cs
- AliasExpr.cs
- WindowsButton.cs
- ImageKeyConverter.cs
- DateBoldEvent.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- OrderPreservingMergeHelper.cs
- CodeNamespace.cs
- ProcessInputEventArgs.cs
- DataGrid.cs
- MediaPlayerState.cs
- WindowPatternIdentifiers.cs
- DesignerAttribute.cs
- SQLMoneyStorage.cs
- NativeObjectSecurity.cs
- TableLayoutSettings.cs
- PointAnimationUsingKeyFrames.cs
- RuleSettingsCollection.cs
- Button.cs
- x509utils.cs
- UnsafeNativeMethods.cs
- PropertyPathWorker.cs
- OperationInfo.cs
- SqlProviderServices.cs
- SqlNamer.cs
- ConfigurationStrings.cs
- arclist.cs
- XMLDiffLoader.cs
- ISAPIWorkerRequest.cs
- SID.cs
- GcSettings.cs
- HuffmanTree.cs
- SingleAnimation.cs
- RegexRunner.cs
- SystemTcpConnection.cs
- Exception.cs
- HwndHostAutomationPeer.cs
- StringValidatorAttribute.cs
- SchemaMapping.cs
- NamespaceEmitter.cs
- DbgUtil.cs
- ListCollectionView.cs
- CacheModeConverter.cs
- DeliveryStrategy.cs
- OdbcConnectionOpen.cs
- MultiByteCodec.cs
- _ChunkParse.cs
- COM2IDispatchConverter.cs
- RepeatBehavior.cs
- XmlExtensionFunction.cs
- MessageBodyMemberAttribute.cs
- XmlComplianceUtil.cs
- RelationshipType.cs
- X509CertificateStore.cs
- TypeBrowserDialog.cs
- OdbcTransaction.cs
- SystemIcmpV4Statistics.cs
- Block.cs
- HtmlProps.cs
- PropertyIDSet.cs
- ToolStripContentPanel.cs
- IDReferencePropertyAttribute.cs
- DomNameTable.cs
- configsystem.cs
- SmtpSection.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- FontEditor.cs
- PolyQuadraticBezierSegment.cs
- ViewStateException.cs