Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Framework / System / Windows / Controls / GridViewColumnCollectionChangedEventArgs.cs / 1 / GridViewColumnCollectionChangedEventArgs.cs
//----------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//---------------------------------------------------------------------------
using System.Windows.Controls;
using System.Collections.Generic; // IList
using 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 ReadOnlyCollection ClearedColumns
{
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.
//----------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//---------------------------------------------------------------------------
using System.Windows.Controls;
using System.Collections.Generic; // IList
using 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 ReadOnlyCollection ClearedColumns
{
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
- ObjectHelper.cs
- ScriptControl.cs
- DeflateStream.cs
- TextFormattingConverter.cs
- Int32Rect.cs
- ServiceInstallComponent.cs
- SpeechAudioFormatInfo.cs
- CalendarDataBindingHandler.cs
- XmlILCommand.cs
- StrokeCollectionConverter.cs
- Cursors.cs
- BinaryUtilClasses.cs
- KnowledgeBase.cs
- InstanceCompleteException.cs
- SmtpAuthenticationManager.cs
- DefaultHttpHandler.cs
- NamespaceCollection.cs
- CustomError.cs
- TagPrefixInfo.cs
- LocalValueEnumerator.cs
- CryptoKeySecurity.cs
- RadioButtonPopupAdapter.cs
- InputReportEventArgs.cs
- EventLevel.cs
- oledbconnectionstring.cs
- SpecularMaterial.cs
- RuntimeConfig.cs
- Base64Encoder.cs
- PenThreadWorker.cs
- XmlNodeReader.cs
- ActionMessageFilterTable.cs
- ListViewSortEventArgs.cs
- RequestCacheValidator.cs
- UserControl.cs
- BufferedStream.cs
- loginstatus.cs
- XAMLParseException.cs
- XmlSchemaImport.cs
- PartitionerStatic.cs
- DesignerRegion.cs
- KeyConstraint.cs
- MasterPageParser.cs
- StringValidatorAttribute.cs
- ReferentialConstraint.cs
- IPeerNeighbor.cs
- AccessViolationException.cs
- TemplateKeyConverter.cs
- DesigntimeLicenseContext.cs
- SqlServer2KCompatibilityAnnotation.cs
- MediaContextNotificationWindow.cs
- SiteMapNodeCollection.cs
- DbConnectionPoolGroup.cs
- FileChangesMonitor.cs
- XmlArrayAttribute.cs
- NoPersistProperty.cs
- FormViewInsertEventArgs.cs
- MachinePropertyVariants.cs
- clipboard.cs
- EntityContainer.cs
- XmlDigitalSignatureProcessor.cs
- DelegateBodyWriter.cs
- XmlTypeAttribute.cs
- DecoderExceptionFallback.cs
- SystemIcons.cs
- ISAPIWorkerRequest.cs
- DesignerSerializationVisibilityAttribute.cs
- PersonalizationProviderHelper.cs
- FocusChangedEventArgs.cs
- DependencyPropertyChangedEventArgs.cs
- StateChangeEvent.cs
- ChtmlTextWriter.cs
- OleDbSchemaGuid.cs
- TogglePatternIdentifiers.cs
- DocumentViewerConstants.cs
- XLinq.cs
- ValidatingReaderNodeData.cs
- ContentDesigner.cs
- XmlRawWriter.cs
- TcpClientSocketManager.cs
- ContentFileHelper.cs
- UserControlParser.cs
- TemplateContent.cs
- DecodeHelper.cs
- AssociationSet.cs
- ValidateNames.cs
- XmlProcessingInstruction.cs
- SelectedDatesCollection.cs
- XhtmlCssHandler.cs
- PowerModeChangedEventArgs.cs
- InputScope.cs
- DataGridTablesFactory.cs
- regiisutil.cs
- X509IssuerSerialKeyIdentifierClause.cs
- CompoundFileStorageReference.cs
- InputProcessorProfiles.cs
- PartialCachingAttribute.cs
- ChannelTokenTypeConverter.cs
- SafeJobHandle.cs
- WebResourceUtil.cs
- PolicyStatement.cs