Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / 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 [....]/connecteddata/Specs/Validation.mht // // History: // 5/3/2004 [....]: 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
- OdbcConnectionString.cs
- HttpHandler.cs
- ConsoleCancelEventArgs.cs
- UshortList2.cs
- DataGridViewButtonCell.cs
- ColumnHeaderConverter.cs
- XslTransform.cs
- WsdlHelpGeneratorElement.cs
- WebPartConnectionsConfigureVerb.cs
- StatusBarAutomationPeer.cs
- Container.cs
- BookmarkEventArgs.cs
- StorageAssociationSetMapping.cs
- ListItemConverter.cs
- FormParameter.cs
- PriorityItem.cs
- DataGridTextBoxColumn.cs
- XamlStackWriter.cs
- JournalNavigationScope.cs
- CodeIterationStatement.cs
- CounterSample.cs
- PersonalizableTypeEntry.cs
- ExpressionBindings.cs
- ButtonRenderer.cs
- ControlTemplate.cs
- TreeBuilderBamlTranslator.cs
- UndirectedGraph.cs
- AnnotationDocumentPaginator.cs
- MobileControl.cs
- ResXBuildProvider.cs
- CommaDelimitedStringAttributeCollectionConverter.cs
- BinaryFormatter.cs
- DataSourceXmlSerializationAttribute.cs
- Fonts.cs
- IntranetCredentialPolicy.cs
- Span.cs
- SAPICategories.cs
- PageBreakRecord.cs
- SyndicationSerializer.cs
- CodeArgumentReferenceExpression.cs
- DrawingAttributesDefaultValueFactory.cs
- ListViewEditEventArgs.cs
- TdsParser.cs
- DefaultBinder.cs
- DbProviderFactories.cs
- GridViewRowEventArgs.cs
- OleDbStruct.cs
- StyleBamlTreeBuilder.cs
- InputElement.cs
- OracleCommand.cs
- FixedSOMTableCell.cs
- ConvertTextFrag.cs
- MenuItemStyle.cs
- smtpconnection.cs
- ScrollEvent.cs
- DataGridViewAccessibleObject.cs
- ComponentEditorForm.cs
- ComboBox.cs
- SchemaHelper.cs
- Solver.cs
- ColumnClickEvent.cs
- OdbcStatementHandle.cs
- InkCanvas.cs
- base64Transforms.cs
- smtpconnection.cs
- DateTimeOffsetAdapter.cs
- GenericFlowSwitchHelper.cs
- ExpressionBindingCollection.cs
- ResourceSetExpression.cs
- CompilerTypeWithParams.cs
- SqlBulkCopy.cs
- XMLUtil.cs
- HierarchicalDataSourceControl.cs
- ItemCollectionEditor.cs
- EmbossBitmapEffect.cs
- Point3DCollection.cs
- SessionEndingEventArgs.cs
- OdbcParameterCollection.cs
- XmlCodeExporter.cs
- UInt32.cs
- PersonalizationAdministration.cs
- CommunicationObject.cs
- OdbcParameterCollection.cs
- Parser.cs
- XNodeValidator.cs
- CodeTypeDelegate.cs
- SystemIPv6InterfaceProperties.cs
- PageAdapter.cs
- XamlBrushSerializer.cs
- WebPartManagerInternals.cs
- TextDecoration.cs
- Tool.cs
- AsyncPostBackErrorEventArgs.cs
- AutomationElement.cs
- RepeaterItemCollection.cs
- SqlClientWrapperSmiStream.cs
- ReturnEventArgs.cs
- EncryptedData.cs
- SBCSCodePageEncoding.cs
- DiagnosticsConfiguration.cs