Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Controls / GridViewColumnCollectionChangedEventArgs.cs / 1305600 / 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
- ContractComponent.cs
- XmlSerializationReader.cs
- XsdBuilder.cs
- TitleStyle.cs
- TiffBitmapDecoder.cs
- JournalNavigationScope.cs
- WizardStepBase.cs
- ConfigUtil.cs
- CodeDOMUtility.cs
- PropertyGridCommands.cs
- PerformanceCountersElement.cs
- ApplicationHost.cs
- ListenerBinder.cs
- WebPartHeaderCloseVerb.cs
- XsdBuildProvider.cs
- DataGridViewTextBoxColumn.cs
- TypedElement.cs
- IntellisenseTextBox.designer.cs
- ObjectDataSourceDisposingEventArgs.cs
- TemplatePartAttribute.cs
- Operator.cs
- MetafileEditor.cs
- HScrollProperties.cs
- TargetFrameworkUtil.cs
- ColorKeyFrameCollection.cs
- QilTernary.cs
- SiteMembershipCondition.cs
- NoClickablePointException.cs
- WebResourceUtil.cs
- XmlHelper.cs
- ColumnMapCopier.cs
- DesignerInterfaces.cs
- Odbc32.cs
- HitTestParameters.cs
- MappingItemCollection.cs
- MulticastDelegate.cs
- _AutoWebProxyScriptWrapper.cs
- RegionInfo.cs
- XmlSerializableServices.cs
- EmptyImpersonationContext.cs
- CompModSwitches.cs
- ZipIOExtraFieldElement.cs
- Accessible.cs
- InputProcessorProfilesLoader.cs
- XmlSchemaProviderAttribute.cs
- WpfXamlMember.cs
- returneventsaver.cs
- DataControlCommands.cs
- IdentityModelStringsVersion1.cs
- WindowInteractionStateTracker.cs
- WebPartEventArgs.cs
- FormViewPagerRow.cs
- ImageAnimator.cs
- AtomServiceDocumentSerializer.cs
- DataReaderContainer.cs
- ApplicationCommands.cs
- MouseOverProperty.cs
- UpdatePanelTrigger.cs
- SafeFreeMibTable.cs
- SecurityToken.cs
- DependentList.cs
- UIntPtr.cs
- ClientSettingsSection.cs
- SortDescription.cs
- SchemaCreator.cs
- ApplicationId.cs
- ObjectQueryProvider.cs
- TimeoutConverter.cs
- XmlSchemaType.cs
- DocumentSequenceHighlightLayer.cs
- TimersDescriptionAttribute.cs
- WeakReferenceList.cs
- SecurityKeyIdentifierClause.cs
- MemoryMappedViewStream.cs
- AmbientValueAttribute.cs
- TransformerConfigurationWizardBase.cs
- AjaxFrameworkAssemblyAttribute.cs
- HwndSourceParameters.cs
- XPathNode.cs
- ControlParameter.cs
- AssertSection.cs
- MimeParameters.cs
- PenLineCapValidation.cs
- Translator.cs
- XmlSchemaImporter.cs
- WebSysDefaultValueAttribute.cs
- ExtensionQuery.cs
- XmlQueryCardinality.cs
- ListChangedEventArgs.cs
- XPathBinder.cs
- PathTooLongException.cs
- LocalizationCodeDomSerializer.cs
- TableRow.cs
- CellParagraph.cs
- SoapAttributeAttribute.cs
- PreDigestedSignedInfo.cs
- DbConnectionOptions.cs
- LoginName.cs
- HttpModuleCollection.cs
- NamedPipeProcessProtocolHandler.cs