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
- CharacterBufferReference.cs
- ParameterToken.cs
- ImageAutomationPeer.cs
- Rss20FeedFormatter.cs
- DebugView.cs
- ListViewTableCell.cs
- NativeMethods.cs
- CodePageEncoding.cs
- PcmConverter.cs
- BindableTemplateBuilder.cs
- ContainerParaClient.cs
- _OverlappedAsyncResult.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- Triangle.cs
- Classification.cs
- PropertyKey.cs
- ListBoxDesigner.cs
- AddInController.cs
- ToolboxBitmapAttribute.cs
- Hash.cs
- ComPlusInstanceProvider.cs
- WebEventCodes.cs
- GCHandleCookieTable.cs
- PermissionSet.cs
- ZipIOExtraFieldZip64Element.cs
- StandardOleMarshalObject.cs
- DataComponentNameHandler.cs
- DataGridViewCellCollection.cs
- TableCell.cs
- ConsumerConnectionPoint.cs
- InternalBufferOverflowException.cs
- CollectionsUtil.cs
- PixelShader.cs
- ACL.cs
- BamlResourceSerializer.cs
- SubqueryRules.cs
- FlowDocumentPageViewerAutomationPeer.cs
- ReadOnlyDictionary.cs
- TableLayoutPanelCellPosition.cs
- EndpointDiscoveryBehavior.cs
- RelationalExpressions.cs
- Comparer.cs
- WebBrowserNavigatedEventHandler.cs
- RuntimeResourceSet.cs
- XmlNamedNodeMap.cs
- DesignerWebPartChrome.cs
- _ContextAwareResult.cs
- SerializationInfo.cs
- EditingCoordinator.cs
- _BasicClient.cs
- WmlSelectionListAdapter.cs
- objectresult_tresulttype.cs
- PrePrepareMethodAttribute.cs
- LineSegment.cs
- ContextMenu.cs
- WebBrowserNavigatedEventHandler.cs
- HostExecutionContextManager.cs
- SchemaCollectionCompiler.cs
- MouseCaptureWithinProperty.cs
- StickyNoteContentControl.cs
- XmlSchemaComplexContent.cs
- SessionEndingEventArgs.cs
- VectorCollection.cs
- TextSchema.cs
- Visitor.cs
- ECDiffieHellmanPublicKey.cs
- DataGridViewCellStyleContentChangedEventArgs.cs
- FixedSOMLineRanges.cs
- SmtpException.cs
- ConnectionInterfaceCollection.cs
- _TransmitFileOverlappedAsyncResult.cs
- InternalConfigSettingsFactory.cs
- Positioning.cs
- SystemKeyConverter.cs
- UnSafeCharBuffer.cs
- WebPartConnectionsCancelVerb.cs
- SymbolMethod.cs
- WebScriptClientGenerator.cs
- Misc.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- BypassElementCollection.cs
- ExtendedPropertyCollection.cs
- AssemblyBuilderData.cs
- FrameworkElementAutomationPeer.cs
- GifBitmapEncoder.cs
- SqlRecordBuffer.cs
- AttachInfo.cs
- ManagedIStream.cs
- PrimitiveType.cs
- FontUnitConverter.cs
- Pens.cs
- DataServiceRequestOfT.cs
- TokenizerHelper.cs
- EqualityComparer.cs
- DocumentViewerConstants.cs
- unsafenativemethodstextservices.cs
- NameValueCache.cs
- StatusBarDrawItemEvent.cs
- ButtonBaseAdapter.cs
- DependencyObjectValidator.cs