Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / Controls / GridViewColumnCollectionChangedEventArgs.cs / 1 / GridViewColumnCollectionChangedEventArgs.cs
//---------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation. All rights reserved. // //--------------------------------------------------------------------------- using System.Windows.Controls; using System.Collections.Generic; // IListusing System.Collections.Specialized; // NotifyCollectionChangedEventArgs using System.Collections.ObjectModel; // Collection, ReadOnlyCollection using System.Diagnostics; // Assert namespace System.Windows.Controls { /// /// Argument for GridViewColumnCollectionChanged event /// internal class GridViewColumnCollectionChangedEventArgs : NotifyCollectionChangedEventArgs { ////// constructor (for a property of one column changed) /// /// column whose property changed /// Name of the changed property internal GridViewColumnCollectionChangedEventArgs(GridViewColumn column, string propertyName) : base(NotifyCollectionChangedAction.Reset) // NotifyCollectionChangedEventArgs doesn't have 0 parameter constructor, so pass in an arbitrary parameter. { _column = column; _propertyName = propertyName; } ////// constructor (for clear) /// /// must be NotifyCollectionChangedAction.Reset /// Columns removed in reset action internal GridViewColumnCollectionChangedEventArgs(NotifyCollectionChangedAction action, GridViewColumn[] clearedColumns) : base(action) { _clearedColumns = System.Array.AsReadOnly(clearedColumns); } /// /// Construct for one-column Add/Remove event. /// internal GridViewColumnCollectionChangedEventArgs(NotifyCollectionChangedAction action, GridViewColumn changedItem, int index, int actualIndex) : base (action, changedItem, index) { Debug.Assert(action == NotifyCollectionChangedAction.Add || action == NotifyCollectionChangedAction.Remove, "This constructor only supports Add/Remove action."); Debug.Assert(changedItem != null, "changedItem can't be null"); Debug.Assert(index >= 0, "index must >= 0"); Debug.Assert(actualIndex >= 0, "actualIndex must >= 0"); _actualIndex = actualIndex; } ////// Construct for a one-column Replace event. /// internal GridViewColumnCollectionChangedEventArgs(NotifyCollectionChangedAction action, GridViewColumn newItem, GridViewColumn oldItem, int index, int actualIndex) : base(action, newItem, oldItem, index) { Debug.Assert(newItem != null, "newItem can't be null"); Debug.Assert(oldItem != null, "oldItem can't be null"); Debug.Assert(index >= 0, "index must >= 0"); Debug.Assert(actualIndex >= 0, "actualIndex must >= 0"); _actualIndex = actualIndex; } ////// Construct for a one-column Move event. /// internal GridViewColumnCollectionChangedEventArgs(NotifyCollectionChangedAction action, GridViewColumn changedItem, int index, int oldIndex, int actualIndex) : base(action, changedItem, index, oldIndex) { Debug.Assert(changedItem != null, "changedItem can't be null"); Debug.Assert(index >= 0, "index must >= 0"); Debug.Assert(oldIndex >= 0, "oldIndex must >= 0"); Debug.Assert(actualIndex >= 0, "actualIndex must >= 0"); _actualIndex = actualIndex; } ////// index of the changed column in the internal column list. /// internal int ActualIndex { get { return _actualIndex; } } private int _actualIndex = -1; ////// Columns removed in reset action. /// internal ReadOnlyCollectionClearedColumns { get { return _clearedColumns; } } private ReadOnlyCollection _clearedColumns; // The following two properties are used to store information of GridViewColumns.PropertyChanged event. // // GridViewColumnCollection hookup GridViewColumns.PropertyChanged event. When GridViewColumns.PropertyChanged // event is raised, GridViewColumnCollection will raised CollectionChanged event with GridViewColumnCollectionChangedEventArgs. // In the event arg the following two properties will be set, so GridViewRowPresenter will be informed. // // GridViewRowPresenter needn't hookup PropertyChanged event of each column, which cost a lot of time in scroll operation. /// /// Column whose property changed /// internal GridViewColumn Column { get { return _column; } } private GridViewColumn _column; ////// Name of the changed property /// internal string PropertyName { get { return _propertyName; } } private string _propertyName; } } // 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
- CheckBox.cs
- AnonymousIdentificationModule.cs
- SortKey.cs
- QilXmlWriter.cs
- PrintDocument.cs
- SecurityKeyUsage.cs
- ProxyWebPart.cs
- InlinedLocationReference.cs
- OrderPreservingPipeliningSpoolingTask.cs
- TrackBarRenderer.cs
- TextRunTypographyProperties.cs
- EndPoint.cs
- LayoutEngine.cs
- WebBrowserPermission.cs
- CacheAxisQuery.cs
- MediaTimeline.cs
- SqlNotificationRequest.cs
- AdCreatedEventArgs.cs
- EntityDataSourceValidationException.cs
- EntityContainerAssociationSetEnd.cs
- LoaderAllocator.cs
- KernelTypeValidation.cs
- SystemResourceKey.cs
- Label.cs
- BitmapDecoder.cs
- CopyAction.cs
- controlskin.cs
- ServerIdentity.cs
- CompoundFileReference.cs
- ObjectDataSourceStatusEventArgs.cs
- NativeMethods.cs
- KeyBinding.cs
- ConfigurationManager.cs
- EventRouteFactory.cs
- EntityViewContainer.cs
- WebPartDescriptionCollection.cs
- CollectionView.cs
- EpmSyndicationContentSerializer.cs
- WebPartConnectionsDisconnectVerb.cs
- XmlUrlResolver.cs
- ParserExtension.cs
- UIElementCollection.cs
- TypeForwardedToAttribute.cs
- Directory.cs
- SocketStream.cs
- BitmapMetadata.cs
- SessionStateItemCollection.cs
- TransformerInfoCollection.cs
- ExtendedProperty.cs
- LockRecursionException.cs
- ModuleConfigurationInfo.cs
- XmlSignatureManifest.cs
- IPPacketInformation.cs
- SignatureGenerator.cs
- FloaterBaseParagraph.cs
- CharacterMetrics.cs
- IPEndPointCollection.cs
- ApplicationActivator.cs
- CodeExpressionStatement.cs
- CertificateManager.cs
- ConnectionPointGlyph.cs
- AllMembershipCondition.cs
- PolicyDesigner.cs
- OleDbCommand.cs
- ReflectionServiceProvider.cs
- CachedFontFace.cs
- rsa.cs
- TextServicesDisplayAttribute.cs
- ImageConverter.cs
- CodeVariableDeclarationStatement.cs
- BufferAllocator.cs
- HtmlUtf8RawTextWriter.cs
- BooleanStorage.cs
- CalendarDayButton.cs
- SchemaImporterExtension.cs
- TitleStyle.cs
- ConfigUtil.cs
- EqualityComparer.cs
- SourceItem.cs
- Models.cs
- TableItemStyle.cs
- PartBasedPackageProperties.cs
- CookielessHelper.cs
- RowCache.cs
- DatatypeImplementation.cs
- EntityTypeBase.cs
- ChangePasswordAutoFormat.cs
- TheQuery.cs
- XmlWellformedWriter.cs
- ToolBarPanel.cs
- FormViewPageEventArgs.cs
- AncestorChangedEventArgs.cs
- HandlerBase.cs
- MultiPropertyDescriptorGridEntry.cs
- RecognitionEventArgs.cs
- AsyncOperation.cs
- BuildProvider.cs
- FrameworkReadOnlyPropertyMetadata.cs
- UserControlDocumentDesigner.cs
- DataListComponentEditor.cs