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
- WebAdminConfigurationHelper.cs
- SafeEventLogReadHandle.cs
- AppDomain.cs
- GenericParameterDataContract.cs
- IndexedString.cs
- PreviewKeyDownEventArgs.cs
- RuntimeConfigLKG.cs
- ElementNotEnabledException.cs
- TemplateInstanceAttribute.cs
- PropagatorResult.cs
- Point3DAnimationUsingKeyFrames.cs
- PnrpPermission.cs
- NativeCompoundFileAPIs.cs
- AndCondition.cs
- Storyboard.cs
- TemplateBindingExtension.cs
- XmlSchemaObject.cs
- FixedSOMImage.cs
- WinHttpWebProxyFinder.cs
- GridViewCellAutomationPeer.cs
- OracleConnectionString.cs
- Highlights.cs
- Tuple.cs
- HttpListener.cs
- VideoDrawing.cs
- InputLanguageCollection.cs
- ComPlusTypeValidator.cs
- RelationshipFixer.cs
- TextBox.cs
- JsonWriter.cs
- ListViewPagedDataSource.cs
- GiveFeedbackEvent.cs
- RNGCryptoServiceProvider.cs
- ConsoleKeyInfo.cs
- HtmlControl.cs
- EventWaitHandle.cs
- RectangleHotSpot.cs
- DynamicMetaObject.cs
- TemplatedMailWebEventProvider.cs
- lengthconverter.cs
- WebEventTraceProvider.cs
- WebPart.cs
- EventLogEntryCollection.cs
- RtType.cs
- FixedLineResult.cs
- _AutoWebProxyScriptHelper.cs
- TracingConnectionInitiator.cs
- HebrewCalendar.cs
- ProcessHostConfigUtils.cs
- SqlDataSourceCommandEventArgs.cs
- PersonalizationProviderHelper.cs
- AnnotationResource.cs
- BitmapImage.cs
- Volatile.cs
- PeerNameRecord.cs
- XmlSchema.cs
- ComplexType.cs
- UDPClient.cs
- OpenTypeCommon.cs
- XsltQilFactory.cs
- DataViewManager.cs
- LayoutExceptionEventArgs.cs
- LoginCancelEventArgs.cs
- LineUtil.cs
- AutomationElementCollection.cs
- DataExchangeServiceBinder.cs
- TemplateApplicationHelper.cs
- DesignerInterfaces.cs
- EnumMemberAttribute.cs
- WebReferencesBuildProvider.cs
- CodePageUtils.cs
- PropertyGroupDescription.cs
- KeyValueSerializer.cs
- DataServiceQueryProvider.cs
- SafeSystemMetrics.cs
- filewebresponse.cs
- ThreadInterruptedException.cs
- TextServicesHost.cs
- UserNameSecurityTokenAuthenticator.cs
- GPRECTF.cs
- SQLGuidStorage.cs
- RecognitionResult.cs
- PreviousTrackingServiceAttribute.cs
- SchemaDeclBase.cs
- HttpHandlerAction.cs
- ToolStripControlHost.cs
- ImageFormatConverter.cs
- Effect.cs
- BrowserCapabilitiesFactory.cs
- XPathDescendantIterator.cs
- DependencyPropertyKey.cs
- ProtocolsConfiguration.cs
- XPathArrayIterator.cs
- ColumnWidthChangedEvent.cs
- NavigationWindowAutomationPeer.cs
- Axis.cs
- BamlRecords.cs
- DbXmlEnabledProviderManifest.cs
- MultiPropertyDescriptorGridEntry.cs
- Expr.cs