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
- _SSPISessionCache.cs
- AccessDataSource.cs
- DropTarget.cs
- WmpBitmapDecoder.cs
- DockProviderWrapper.cs
- XamlFilter.cs
- EntityDataSourceView.cs
- StringValidator.cs
- UiaCoreProviderApi.cs
- StringResourceManager.cs
- InfoCardSymmetricAlgorithm.cs
- SrgsRule.cs
- GridViewRowEventArgs.cs
- FileLogRecordHeader.cs
- MasterPageBuildProvider.cs
- TypeSystem.cs
- TableItemPattern.cs
- MultiSelectRootGridEntry.cs
- IncrementalCompileAnalyzer.cs
- SQLString.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- ServiceInfo.cs
- PeerNameResolver.cs
- TemplateBindingExpressionConverter.cs
- ReaderWriterLock.cs
- DirectoryObjectSecurity.cs
- ByteAnimationBase.cs
- StorageEndPropertyMapping.cs
- CanExecuteRoutedEventArgs.cs
- HuffCodec.cs
- HtmlInputButton.cs
- FrameworkElementFactory.cs
- DockProviderWrapper.cs
- TableItemStyle.cs
- HttpDictionary.cs
- ColorAnimationUsingKeyFrames.cs
- BadImageFormatException.cs
- EventManager.cs
- XmlAttributeAttribute.cs
- ProvidersHelper.cs
- EntityDataSourceMemberPath.cs
- BuilderElements.cs
- SimpleWorkerRequest.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- x509store.cs
- ListBase.cs
- FixedTextSelectionProcessor.cs
- FlowDocumentReaderAutomationPeer.cs
- SelectionPatternIdentifiers.cs
- Utils.cs
- DrawListViewItemEventArgs.cs
- QilUnary.cs
- UnsafeNativeMethodsPenimc.cs
- InternalsVisibleToAttribute.cs
- MethodBuilder.cs
- Serializer.cs
- XmlSchemaSimpleTypeList.cs
- ReturnValue.cs
- DesignerHost.cs
- TraceFilter.cs
- OperatingSystem.cs
- CrossContextChannel.cs
- MinMaxParagraphWidth.cs
- PersistenceTask.cs
- DragEvent.cs
- ElapsedEventArgs.cs
- XsdBuilder.cs
- RegexGroup.cs
- XmlNavigatorFilter.cs
- MergeExecutor.cs
- SQLByteStorage.cs
- Validator.cs
- sapiproxy.cs
- TextTrailingWordEllipsis.cs
- ProfilePropertyNameValidator.cs
- SystemIPAddressInformation.cs
- DataContractSerializerFaultFormatter.cs
- ObjectDataSource.cs
- HeaderCollection.cs
- ContentPlaceHolder.cs
- TreeViewEvent.cs
- XmlSchemaSubstitutionGroup.cs
- StringDictionary.cs
- GridLengthConverter.cs
- MultiSelector.cs
- MgmtConfigurationRecord.cs
- DesignerTransactionCloseEvent.cs
- RtfNavigator.cs
- TextTreeTextBlock.cs
- webeventbuffer.cs
- HierarchicalDataTemplate.cs
- IFormattable.cs
- FileInfo.cs
- LogicalTreeHelper.cs
- BitmapInitialize.cs
- SpeechSeg.cs
- ProfileService.cs
- SqlInternalConnection.cs
- CodeChecksumPragma.cs
- WebPermission.cs