Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

Document.TrackedMovesConflict Event

Occurs when moved text has been changed since it was moved.

Namespace: DevExpress.XtraRichEdit.API.Native

Assembly: DevExpress.RichEdit.v24.2.Core.dll

NuGet Package: DevExpress.RichEdit.Core

#Declaration

event TrackedMovesConflictEventHandler TrackedMovesConflict

#Event Data

The TrackedMovesConflict event's data class is TrackedMovesConflictEventArgs. The following properties provide information specific to this event:

Property Description
NewLocationRange Provides access to the range of the moved text’s new location.
OriginalLocationRange Retrieves the range of the moved text’s original location.
ResolveMode Gets or sets what version of moved text to keep.
Revision Provides access to the revision whose rejection fired the event.

#Remarks

When you move text, change it, and then reject this move, a conflict occurs that fires Document.TrackedMovesConflict and RichEditDocumentServer.TrackedMovesConflict events.

The event does not occur if the new revision in the moved text was rejected.

You can obtain the original and new location range (OriginalLocationRange and NewLocationRange properties), and the revision that fired this event (the Revision property). Use the ResolveMode property to specify the version you want to keep.

The code sample below shows how to handle the TrackedMovesConflict event to keep original text:

private void WordProcessor_TrackedMovesConflict(object sender, TrackedMovesConflictEventArgs e)
{
  //Compare the length of the original and new location ranges
  //Keep text from the location which range is the smallest
  e.ResolveMode = (e.OriginalLocationRange.Length <= e.NewLocationRange.Length) ? TrackedMovesConflictResolveMode.KeepOriginalLocationText : TrackedMovesConflictResolveMode.KeepNewLocationText;
}
See Also