ChatMessageChangeTracker ChatMessageChangeTracker ChatMessageChangeTracker ChatMessageChangeTracker Class

Definition

Provides methods to enable and retrieve message change revisions.

public : sealed class ChatMessageChangeTracker : IChatMessageChangeTrackerpublic sealed class ChatMessageChangeTracker : IChatMessageChangeTrackerPublic NotInheritable Class ChatMessageChangeTracker Implements IChatMessageChangeTracker// You can use this class in JavaScript.
Attributes
Windows 10 requirements
Device family
Windows 10 (introduced v10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (introduced v1)
Capabilities
blockedChatMessages

Remarks

Get an instance of this class by referencing the ChangeTracker property of the ChatMessageStore object.

Methods

Enable() Enable() Enable() Enable()

Enables change tracking for the messages in the message store.

public : void Enable()public void Enable()Public Function Enable() As void// You can use this method in JavaScript.
Additional features and requirements
Device family
Windows 10 (introduced v10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (introduced v1)
Capabilities
blockedChatMessages

Remarks

Change tracking for messages in the message store is enabled from the ChangeTracker property of the ChatMessageStore object. This is accomplished as shown in the following example:

void TurnOnChangeTracking(ChatMessageStore messageStore)
{
    messageStore.ChangeTracker.Enable();
}

GetChangeReader() GetChangeReader() GetChangeReader() GetChangeReader()

Returns a ChatMessageChangeReader class object which provides a collection of message revisions from the message store.

public : ChatMessageChangeReader GetChangeReader()public ChatMessageChangeReader GetChangeReader()Public Function GetChangeReader() As ChatMessageChangeReader// You can use this method in JavaScript.
Returns
Additional features and requirements
Device family
Windows 10 (introduced v10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (introduced v1)
Capabilities
blockedChatMessages

Remarks

The following example uses the message change reader to find the message revision total:

async int GetMessageRevisionCount(ChatMesssage messageStore)
{
    ChatMessageChangeTracker tracker = messageStore.ChangeTracker;
    IReadOnlyList<ChatMessageChange> changeList = await tracker.GetChangeReader().ReadBatchAsync();

    return changeList.Count;
}

Reset() Reset() Reset() Reset()

Resets change tracking for the messages in the message store. The first revision begins with the next message change.

public : void Reset()public void Reset()Public Function Reset() As void// You can use this method in JavaScript.
Additional features and requirements
Device family
Windows 10 (introduced v10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (introduced v1)
Capabilities
blockedChatMessages

Remarks

The following example resets change tracking when the revision change type indicates ChatMessageChangeType.ChangeTrackingLost:

switch (messageChange.ChangeType)
{
    case ChatMessageChangeType.MessageCreated:
    case ChatMessageChangeType.MessageDeleted:
    case ChatMessageChangeType.MessageModified:
        messageStore.ChangeTracker.GetChangeReader.AcceptChanges();
        break;
    case ChatMessageChangeType.ChangeTrackingLost:
        messageStore.ChangeTracker.Reset();
        break;
    default:
        break
}