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
- GridViewColumnHeaderAutomationPeer.cs
- CapabilitiesUse.cs
- ValidateNames.cs
- COM2PropertyPageUITypeConverter.cs
- FrameDimension.cs
- WinFormsSecurity.cs
- externdll.cs
- RichTextBox.cs
- cache.cs
- WebPartConnectionsConnectVerb.cs
- PrivilegeNotHeldException.cs
- Panel.cs
- CutCopyPasteHelper.cs
- StateMachineSubscription.cs
- RetriableClipboard.cs
- TextTreeExtractElementUndoUnit.cs
- AutomationPatternInfo.cs
- DataGridViewColumnEventArgs.cs
- VariableAction.cs
- CharEntityEncoderFallback.cs
- HtmlInputText.cs
- StringUtil.cs
- SqlParameterCollection.cs
- ResourcesBuildProvider.cs
- RuntimeConfigLKG.cs
- QuaternionValueSerializer.cs
- IdnElement.cs
- OpCopier.cs
- EmbeddedObject.cs
- ArglessEventHandlerProxy.cs
- EntitySqlException.cs
- DbProviderFactoriesConfigurationHandler.cs
- coordinatorscratchpad.cs
- VisualStyleRenderer.cs
- BitmapEffectInputConnector.cs
- WebPartUserCapability.cs
- HtmlTableCellCollection.cs
- ExpressionParser.cs
- ColumnHeader.cs
- AccessViolationException.cs
- SqlDataSourceCache.cs
- SharingService.cs
- HttpProfileGroupBase.cs
- DataObjectAttribute.cs
- StateDesigner.Layouts.cs
- CategoryGridEntry.cs
- Vector.cs
- IntSecurity.cs
- DataGridViewRowConverter.cs
- SystemBrushes.cs
- Span.cs
- Authorization.cs
- GACIdentityPermission.cs
- RelatedImageListAttribute.cs
- MultiTouchSystemGestureLogic.cs
- LockedAssemblyCache.cs
- EmbeddedMailObject.cs
- DataGridItem.cs
- IDQuery.cs
- GroupStyle.cs
- DBDataPermission.cs
- ObservableDictionary.cs
- AttachmentService.cs
- MethodBody.cs
- PlaceHolder.cs
- CollectionMarkupSerializer.cs
- AutomationFocusChangedEventArgs.cs
- DockAndAnchorLayout.cs
- SqlFactory.cs
- CounterSampleCalculator.cs
- HostingPreferredMapPath.cs
- Console.cs
- StorageEntitySetMapping.cs
- XmlAtomicValue.cs
- SchemaNotation.cs
- MetaType.cs
- MatrixAnimationUsingKeyFrames.cs
- WindowsListView.cs
- SafeArrayTypeMismatchException.cs
- XamlPointCollectionSerializer.cs
- AppDomainUnloadedException.cs
- TypeUsageBuilder.cs
- SpeechRecognizer.cs
- Drawing.cs
- InkCanvasSelectionAdorner.cs
- XmlTextWriter.cs
- DocumentXmlWriter.cs
- QueryHandler.cs
- KnownTypesHelper.cs
- XmlTextReader.cs
- Currency.cs
- SiteOfOriginContainer.cs
- XmlDocument.cs
- ToolStripMenuItem.cs
- RuleConditionDialog.Designer.cs
- SafeNativeMethods.cs
- ClientProxyGenerator.cs
- OptimizedTemplateContent.cs
- CapabilitiesState.cs
- AppDomainFactory.cs