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
- ValuePatternIdentifiers.cs
- WizardPanelChangingEventArgs.cs
- AndCondition.cs
- IsolatedStoragePermission.cs
- HostVisual.cs
- CancelEventArgs.cs
- ViewStateModeByIdAttribute.cs
- Rotation3DAnimationBase.cs
- MDIControlStrip.cs
- _AutoWebProxyScriptHelper.cs
- ConfigurationConverterBase.cs
- CryptoKeySecurity.cs
- WorkflowOperationContext.cs
- CodeDelegateInvokeExpression.cs
- ContextProperty.cs
- ListViewInsertedEventArgs.cs
- ParallelQuery.cs
- MenuScrollingVisibilityConverter.cs
- EncodingInfo.cs
- QilStrConcat.cs
- CaseExpr.cs
- LockRecursionException.cs
- Profiler.cs
- WebControlAdapter.cs
- PersonalizationAdministration.cs
- SQLMoneyStorage.cs
- DataGridPageChangedEventArgs.cs
- __Filters.cs
- FormsAuthenticationUserCollection.cs
- HTMLTagNameToTypeMapper.cs
- XsltInput.cs
- SystemIPInterfaceProperties.cs
- StructuredTypeInfo.cs
- Helpers.cs
- GAC.cs
- BitmapPalettes.cs
- RegisteredScript.cs
- GridViewUpdatedEventArgs.cs
- ApplicationDirectoryMembershipCondition.cs
- SecurityKeyIdentifier.cs
- StringPropertyBuilder.cs
- DocumentViewerAutomationPeer.cs
- DataMemberFieldConverter.cs
- loginstatus.cs
- LoginName.cs
- WindowsListBox.cs
- RegisteredHiddenField.cs
- ScrollViewer.cs
- CollectionType.cs
- SQLBytes.cs
- CompilerParameters.cs
- FrameworkElementFactory.cs
- EpmContentDeSerializerBase.cs
- DataColumnChangeEvent.cs
- DbQueryCommandTree.cs
- HtmlTitle.cs
- TextSimpleMarkerProperties.cs
- DataGridViewCellStyleChangedEventArgs.cs
- StyleXamlTreeBuilder.cs
- PagesChangedEventArgs.cs
- IPPacketInformation.cs
- Context.cs
- SymbolPair.cs
- NativeMethods.cs
- KnownBoxes.cs
- ScaleTransform.cs
- BindingsCollection.cs
- XMLDiffLoader.cs
- AuditLog.cs
- HyperlinkAutomationPeer.cs
- Path.cs
- HtmlValidationSummaryAdapter.cs
- MSHTMLHost.cs
- StylusDownEventArgs.cs
- PerfCounters.cs
- DataGridToolTip.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- ServiceDescriptionSerializer.cs
- LayoutEditorPart.cs
- TypeInitializationException.cs
- IItemContainerGenerator.cs
- DispatcherProcessingDisabled.cs
- ListBindingConverter.cs
- CommentAction.cs
- Helper.cs
- ProgramNode.cs
- ListViewItem.cs
- InheritanceRules.cs
- State.cs
- GorillaCodec.cs
- TransformerConfigurationWizardBase.cs
- TextCollapsingProperties.cs
- BitmapImage.cs
- UriParserTemplates.cs
- TreeChangeInfo.cs
- SerialPinChanges.cs
- SoapAttributes.cs
- LayoutEvent.cs
- SqlParameter.cs
- CodeGen.cs