Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Controls / TextChangedEventArgs.cs / 1305600 / TextChangedEventArgs.cs
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
//
// Description: TextChanged event argument.
//
// History:
// 09/27/2004 : psarrett - Created
//
//---------------------------------------------------------------------------
using System.ComponentModel;
using System.Windows.Documents;
using System.Collections.Generic;
using System.Collections.ObjectModel;
namespace System.Windows.Controls
{
#region TextChangedEvent
///
/// How the undo stack caused or is affected by a text change.
///
public enum UndoAction
{
///
/// This change will not affect the undo stack at all
///
None = 0,
///
/// This change will merge into the previous undo unit
///
Merge = 1,
///
/// This change is the result of a call to Undo()
///
Undo = 2,
///
/// This change is the result of a call to Redo()
///
Redo = 3,
///
/// This change will clear the undo stack
///
Clear = 4,
///
/// This change will create a new undo unit
///
Create = 5
}
///
/// The delegate to use for handlers that receive TextChangedEventArgs
///
public delegate void TextChangedEventHandler(object sender, TextChangedEventArgs e);
///
/// The TextChangedEventArgs class represents a type of RoutedEventArgs that
/// are relevant to events raised by changing editable text.
///
public class TextChangedEventArgs : RoutedEventArgs
{
///
/// constructor
///
/// event id
/// UndoAction
/// ReadOnlyCollection
public TextChangedEventArgs(RoutedEvent id, UndoAction action, ICollection changes) : base()
{
if (id == null)
{
throw new ArgumentNullException("id");
}
if (action < UndoAction.None || action > UndoAction.Create)
{
throw new InvalidEnumArgumentException("action", (int)action, typeof(UndoAction));
}
RoutedEvent=id;
_undoAction = action;
_changes = changes;
}
///
/// constructor
///
/// event id
/// UndoAction
public TextChangedEventArgs(RoutedEvent id, UndoAction action)
: this(id, action, new ReadOnlyCollection(new List()))
{
}
///
/// How the undo stack caused or is affected by this text change
///
/// UndoAction enum
public UndoAction UndoAction
{
get
{
return _undoAction;
}
}
///
/// A readonly list of TextChanges, sorted by offset in order from the beginning to the end of
/// the document, describing the dirty areas of the document and in what way(s) those
/// areas differ from the pre-change document. For example, if content at offset 0 was:
///
/// The quick brown fox jumps over the lazy dog.
///
/// and changed to:
///
/// The brown fox jumps over a dog.
///
/// Changes would contain two TextChanges with the following information:
///
/// Change 1
/// --------
/// Offset: 5
/// RemovedCount: 6
/// AddedCount: 0
/// PropertyCount: 0
///
/// Change 2
/// --------
/// Offset: 26
/// RemovedCount: 8
/// AddedCount: 1
/// PropertyCount: 0
///
/// If no changes were made, the collection will be empty.
///
public ICollection Changes
{
get
{
return _changes;
}
}
///
/// The mechanism used to call the type-specific handler on the
/// target.
///
///
/// The generic handler to call in a type-specific way.
///
///
/// The target to call the handler on.
///
protected override void InvokeEventHandler(Delegate genericHandler, object genericTarget)
{
TextChangedEventHandler handler;
handler = (TextChangedEventHandler)genericHandler;
handler(genericTarget, this);
}
private UndoAction _undoAction;
private readonly ICollection _changes;
}
#endregion TextChangedEvent
}
// 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
- DocumentViewerAutomationPeer.cs
- ZipFileInfoCollection.cs
- SingleAnimationUsingKeyFrames.cs
- TreeNode.cs
- InteropAutomationProvider.cs
- MetadataUtil.cs
- Line.cs
- DNS.cs
- DependencyProperty.cs
- ChildrenQuery.cs
- SessionIDManager.cs
- SchemaMapping.cs
- AttributeSetAction.cs
- SymbolEqualComparer.cs
- SessionParameter.cs
- Group.cs
- AsymmetricSignatureDeformatter.cs
- ToolStripLocationCancelEventArgs.cs
- PropertyMetadata.cs
- dataprotectionpermission.cs
- HtmlInputControl.cs
- ArraySegment.cs
- TargetFrameworkAttribute.cs
- ArrayElementGridEntry.cs
- ApplicationManager.cs
- StringBuilder.cs
- DrawingVisual.cs
- hresults.cs
- TypedTableBase.cs
- RepeatButton.cs
- UriWriter.cs
- AccessKeyManager.cs
- LocatorManager.cs
- ApplicationCommands.cs
- DbReferenceCollection.cs
- Point3DCollectionValueSerializer.cs
- VisualStates.cs
- QueryGenerator.cs
- COM2DataTypeToManagedDataTypeConverter.cs
- CodeTypeMember.cs
- CharUnicodeInfo.cs
- CodeTypeConstructor.cs
- UnsafeNativeMethods.cs
- DesignerView.Commands.cs
- XmlRootAttribute.cs
- VerificationAttribute.cs
- ManagementOptions.cs
- SqlConnectionManager.cs
- DetailsViewPagerRow.cs
- HttpException.cs
- UserPersonalizationStateInfo.cs
- FlowDocument.cs
- BindingExpressionUncommonField.cs
- TableLayoutPanelCellPosition.cs
- ProfileGroupSettingsCollection.cs
- FilterableAttribute.cs
- ObjectViewQueryResultData.cs
- DataGridViewAutoSizeModeEventArgs.cs
- KoreanCalendar.cs
- ThrowHelper.cs
- GenerateTemporaryAssemblyTask.cs
- OutputCacheEntry.cs
- Dump.cs
- DataSourceSelectArguments.cs
- InstanceNotReadyException.cs
- SubMenuStyleCollection.cs
- BigInt.cs
- QueryExecutionOption.cs
- Vector3D.cs
- RestHandlerFactory.cs
- ExcCanonicalXml.cs
- SymbolTable.cs
- SynchronizationLockException.cs
- AtomMaterializerLog.cs
- Span.cs
- SmiTypedGetterSetter.cs
- ProcessThread.cs
- EndpointAddress10.cs
- AsyncSerializedWorker.cs
- Model3DGroup.cs
- OdbcConnectionStringbuilder.cs
- WindowsAuthenticationEventArgs.cs
- DecimalStorage.cs
- AdornerPresentationContext.cs
- MediaElement.cs
- MimePart.cs
- TraceHandlerErrorFormatter.cs
- DelegateTypeInfo.cs
- ValueUtilsSmi.cs
- InputScopeNameConverter.cs
- CommandBindingCollection.cs
- OleDbEnumerator.cs
- TranslateTransform.cs
- FormViewInsertEventArgs.cs
- XmlAttributeAttribute.cs
- SchemaElementDecl.cs
- GenericAuthenticationEventArgs.cs
- StatusBarPanelClickEvent.cs
- WebDisplayNameAttribute.cs
- DocumentViewerAutomationPeer.cs