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
- DataGridViewCellValidatingEventArgs.cs
- SizeKeyFrameCollection.cs
- ExclusiveHandle.cs
- SpellerHighlightLayer.cs
- ZipFileInfoCollection.cs
- HierarchicalDataSourceControl.cs
- RootBrowserWindow.cs
- GeneralTransform.cs
- DesignerAdapterUtil.cs
- Pts.cs
- DataGridDetailsPresenter.cs
- PrinterResolution.cs
- TextTreeExtractElementUndoUnit.cs
- Delegate.cs
- RecommendedAsConfigurableAttribute.cs
- ResourceCollectionInfo.cs
- StylusPointPropertyUnit.cs
- basevalidator.cs
- OrderPreservingPipeliningMergeHelper.cs
- ModifyActivitiesPropertyDescriptor.cs
- UniqueConstraint.cs
- DbModificationCommandTree.cs
- DataGridViewTextBoxColumn.cs
- DockingAttribute.cs
- DSASignatureDeformatter.cs
- XmlIlVisitor.cs
- SystemUdpStatistics.cs
- HotCommands.cs
- XmlQueryOutput.cs
- StringPropertyBuilder.cs
- HashSetDebugView.cs
- TrayIconDesigner.cs
- SerializationException.cs
- Inflater.cs
- EntitySqlQueryCacheEntry.cs
- CompiledRegexRunner.cs
- DummyDataSource.cs
- NamespaceDisplay.xaml.cs
- CellParaClient.cs
- AnnotationResourceCollection.cs
- TemplateXamlParser.cs
- ContractNamespaceAttribute.cs
- MasterPageParser.cs
- SystemColors.cs
- DynamicRendererThreadManager.cs
- WebZone.cs
- ContextQuery.cs
- ControlParameter.cs
- ItemTypeToolStripMenuItem.cs
- QueryPageSettingsEventArgs.cs
- DuplicateWaitObjectException.cs
- SafeReversePInvokeHandle.cs
- Separator.cs
- AuthenticatingEventArgs.cs
- SystemDropShadowChrome.cs
- Span.cs
- FunctionNode.cs
- StringStorage.cs
- Axis.cs
- LessThan.cs
- ChineseLunisolarCalendar.cs
- relpropertyhelper.cs
- SchemaImporter.cs
- XPathScanner.cs
- DeviceFiltersSection.cs
- SystemEvents.cs
- EdmType.cs
- PipelineModuleStepContainer.cs
- DataBindingExpressionBuilder.cs
- AuthorizationRule.cs
- DocumentReference.cs
- Accessible.cs
- GregorianCalendarHelper.cs
- Bidi.cs
- ControlTemplate.cs
- SortedDictionary.cs
- XPathNavigator.cs
- DateTime.cs
- UserControlBuildProvider.cs
- CheckBox.cs
- InstanceCreationEditor.cs
- SAPIEngineTypes.cs
- ExpressionPrefixAttribute.cs
- DataGrid.cs
- Pts.cs
- RawUIStateInputReport.cs
- AppDomainUnloadedException.cs
- securitycriticaldataformultiplegetandset.cs
- HttpWebRequestElement.cs
- ItemMap.cs
- UnsafeNativeMethods.cs
- MsmqAppDomainProtocolHandler.cs
- DiffuseMaterial.cs
- UnaryNode.cs
- DataListItemEventArgs.cs
- SerialPinChanges.cs
- SecurityContext.cs
- AutomationAttributeInfo.cs
- SupportsPreviewControlAttribute.cs
- Resources.Designer.cs