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
- MarshalByValueComponent.cs
- Propagator.JoinPropagator.SubstitutingCloneVisitor.cs
- ToolStripDropDownMenu.cs
- CaseInsensitiveHashCodeProvider.cs
- DesignSurfaceEvent.cs
- DbDataRecord.cs
- LambdaCompiler.Binary.cs
- WebException.cs
- ControlCachePolicy.cs
- SrgsText.cs
- ConfigurationSectionCollection.cs
- ProtocolsConfigurationEntry.cs
- Hashtable.cs
- DesignerObject.cs
- FixedFlowMap.cs
- MemberBinding.cs
- SqlDeflator.cs
- DataSourceCache.cs
- SchemaImporter.cs
- DataControlCommands.cs
- SmiSettersStream.cs
- DbTransaction.cs
- QueueProcessor.cs
- CrossSiteScriptingValidation.cs
- PrePostDescendentsWalker.cs
- Pen.cs
- XmlRootAttribute.cs
- TemplatePropertyEntry.cs
- SqlStatistics.cs
- peersecuritysettings.cs
- TextEndOfSegment.cs
- HttpHandlerActionCollection.cs
- MenuScrollingVisibilityConverter.cs
- OleDbPropertySetGuid.cs
- GridView.cs
- CookielessHelper.cs
- PagerSettings.cs
- NavigatingCancelEventArgs.cs
- Timeline.cs
- BroadcastEventHelper.cs
- KnownAssemblyEntry.cs
- MsmqUri.cs
- ClosableStream.cs
- Attributes.cs
- RootBrowserWindowAutomationPeer.cs
- TreeViewHitTestInfo.cs
- DataGridViewBand.cs
- xmlfixedPageInfo.cs
- StaticExtensionConverter.cs
- LinearGradientBrush.cs
- HostedTransportConfigurationManager.cs
- FileAuthorizationModule.cs
- ToolStripRenderer.cs
- StorageModelBuildProvider.cs
- DockPattern.cs
- StatusBarDrawItemEvent.cs
- CompoundFileStorageReference.cs
- BrushConverter.cs
- JapaneseLunisolarCalendar.cs
- ScrollChrome.cs
- FixedSOMFixedBlock.cs
- ZoneIdentityPermission.cs
- MsmqIntegrationSecurityMode.cs
- _emptywebproxy.cs
- GenericArgumentsUpdater.cs
- EntityProviderServices.cs
- BuildProvidersCompiler.cs
- DragAssistanceManager.cs
- UnaryOperationBinder.cs
- DbInsertCommandTree.cs
- XmlWriterSettings.cs
- ClientUriBehavior.cs
- PathGeometry.cs
- NamedObject.cs
- TypefaceMetricsCache.cs
- Pens.cs
- XsltConvert.cs
- ZoneMembershipCondition.cs
- UpdateProgress.cs
- XhtmlBasicValidatorAdapter.cs
- TableLayoutSettingsTypeConverter.cs
- StrongNameMembershipCondition.cs
- DataServiceRequestOfT.cs
- RepeaterItemEventArgs.cs
- SupportedAddressingMode.cs
- CaseInsensitiveComparer.cs
- SoapAttributeOverrides.cs
- HashMembershipCondition.cs
- KeyInstance.cs
- HwndStylusInputProvider.cs
- TreeNode.cs
- StrokeNodeOperations.cs
- Bezier.cs
- MetadataCollection.cs
- SendMailErrorEventArgs.cs
- SecurityElement.cs
- ProcessProtocolHandler.cs
- TypeDescriptionProviderAttribute.cs
- UInt16Converter.cs
- AdditionalEntityFunctions.cs