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
- BitmapDecoder.cs
- PerformanceCounterCategory.cs
- XmlCharCheckingWriter.cs
- LocalFileSettingsProvider.cs
- PropertyValueUIItem.cs
- BasicCellRelation.cs
- HtmlInputFile.cs
- WeakReference.cs
- AmbientLight.cs
- PropertySourceInfo.cs
- Unit.cs
- FontSource.cs
- AppDomainUnloadedException.cs
- CodeConstructor.cs
- TextElementEnumerator.cs
- IPipelineRuntime.cs
- TableChangeProcessor.cs
- EventMap.cs
- RowType.cs
- ACE.cs
- RelatedPropertyManager.cs
- CompletionProxy.cs
- XPathNodePointer.cs
- Component.cs
- NameTable.cs
- XDRSchema.cs
- Validator.cs
- CloseCollectionAsyncResult.cs
- RuntimeCompatibilityAttribute.cs
- WindowVisualStateTracker.cs
- CalendarDataBindingHandler.cs
- TimeEnumHelper.cs
- RadialGradientBrush.cs
- DesignerGenericWebPart.cs
- SmiMetaDataProperty.cs
- ClientSection.cs
- MissingManifestResourceException.cs
- TreeViewImageKeyConverter.cs
- SystemIcmpV4Statistics.cs
- HideDisabledControlAdapter.cs
- SchemaManager.cs
- LoadWorkflowByKeyAsyncResult.cs
- LayoutTable.cs
- SortedList.cs
- Contracts.cs
- ReliableOutputConnection.cs
- TrustLevelCollection.cs
- SafeReversePInvokeHandle.cs
- AppDomainCompilerProxy.cs
- ObjectAnimationUsingKeyFrames.cs
- MessageQueueInstaller.cs
- ServiceContractViewControl.cs
- SafeEventLogReadHandle.cs
- DataGridViewDataErrorEventArgs.cs
- FromReply.cs
- PageCodeDomTreeGenerator.cs
- EntryIndex.cs
- InternalException.cs
- WebControlsSection.cs
- GatewayDefinition.cs
- MouseCaptureWithinProperty.cs
- RouteParametersHelper.cs
- XmlDataSourceView.cs
- ReversePositionQuery.cs
- DataGridToolTip.cs
- FontCacheUtil.cs
- SwitchAttribute.cs
- OleDbFactory.cs
- LayoutTableCell.cs
- GuidelineCollection.cs
- SuppressMessageAttribute.cs
- QueryPageSettingsEventArgs.cs
- DocumentApplicationJournalEntryEventArgs.cs
- GenericTypeParameterBuilder.cs
- SecurityDescriptor.cs
- SqlBinder.cs
- SourceInterpreter.cs
- ListManagerBindingsCollection.cs
- ComContractElementCollection.cs
- WebPartAuthorizationEventArgs.cs
- TypeListConverter.cs
- CellTreeSimplifier.cs
- ScriptResourceAttribute.cs
- EntityDesignerDataSourceView.cs
- ADConnectionHelper.cs
- CharAnimationUsingKeyFrames.cs
- NamedElement.cs
- NetSectionGroup.cs
- CodeSnippetCompileUnit.cs
- BufferedWebEventProvider.cs
- DataGridClipboardCellContent.cs
- ObjectItemConventionAssemblyLoader.cs
- SessionStateUtil.cs
- StateWorkerRequest.cs
- DoubleLink.cs
- PrePostDescendentsWalker.cs
- WorkflowQueueInfo.cs
- FontFamilyValueSerializer.cs
- DataExpression.cs
- DataSvcMapFile.cs