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
- IEnumerable.cs
- validationstate.cs
- MarkupCompilePass2.cs
- InvalidOleVariantTypeException.cs
- ItemCheckEvent.cs
- XmlTextEncoder.cs
- TrimSurroundingWhitespaceAttribute.cs
- DrawingCollection.cs
- SqlServices.cs
- WebBrowserHelper.cs
- sortedlist.cs
- ListViewSelectEventArgs.cs
- DataColumnChangeEvent.cs
- DoubleCollection.cs
- AnnotationMap.cs
- Model3DGroup.cs
- CfgParser.cs
- XmlElementElementCollection.cs
- ProviderBase.cs
- Suspend.cs
- SafeTimerHandle.cs
- SqlHelper.cs
- Convert.cs
- UserControl.cs
- TemplateControlParser.cs
- QueryExpr.cs
- HttpHeaderCollection.cs
- BinaryObjectWriter.cs
- ConstraintCollection.cs
- GenericsInstances.cs
- MultipartContentParser.cs
- ExceptionUtility.cs
- HierarchicalDataBoundControl.cs
- WpfKnownTypeInvoker.cs
- SizeConverter.cs
- FrameAutomationPeer.cs
- AssemblyCache.cs
- Preprocessor.cs
- PassportAuthenticationModule.cs
- IconConverter.cs
- JournalEntryListConverter.cs
- LinkLabelLinkClickedEvent.cs
- TrackingServices.cs
- Rotation3DAnimationBase.cs
- NumberFunctions.cs
- LateBoundBitmapDecoder.cs
- WithParamAction.cs
- ClientSession.cs
- HttpChannelBindingToken.cs
- ImageBrush.cs
- RemotingServices.cs
- dataprotectionpermission.cs
- pingexception.cs
- FtpWebResponse.cs
- EntityAdapter.cs
- IndexedGlyphRun.cs
- XmlNodeWriter.cs
- TreeViewImageIndexConverter.cs
- Drawing.cs
- AsyncStreamReader.cs
- ConfigXmlReader.cs
- BatchStream.cs
- SwitchAttribute.cs
- ReturnValue.cs
- XmlArrayItemAttribute.cs
- SctClaimDictionary.cs
- BufferedGraphics.cs
- OletxTransactionHeader.cs
- ElementHostAutomationPeer.cs
- ProtocolsSection.cs
- ListenUriMode.cs
- Propagator.JoinPropagator.cs
- Activity.cs
- MapPathBasedVirtualPathProvider.cs
- XmlNode.cs
- PeerNameResolver.cs
- WebPartVerb.cs
- EdmItemCollection.OcAssemblyCache.cs
- IPAddress.cs
- ItemsPresenter.cs
- ListViewInsertedEventArgs.cs
- DocumentManager.cs
- QuaternionRotation3D.cs
- ADRoleFactory.cs
- LinkDescriptor.cs
- StrongNameMembershipCondition.cs
- ChildChangedEventArgs.cs
- RawTextInputReport.cs
- SimpleExpression.cs
- SpAudioStreamWrapper.cs
- WebPartZoneBase.cs
- ByteStream.cs
- SignedInfo.cs
- AsymmetricAlgorithm.cs
- RepeatButtonAutomationPeer.cs
- ObjectMaterializedEventArgs.cs
- Int64KeyFrameCollection.cs
- ContextMenuStripGroup.cs
- IInstanceTable.cs
- DesignerRegionMouseEventArgs.cs