2.6 KiB
source_files, generated_at, model, schema_version, sha256
| source_files | generated_at | model | schema_version | sha256 | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
2026-04-17T16:34:18.351118+00:00 | zai-org/GLM-5-FP8 | 1 | 265c037d82ad3991 |
DTS.Common.Interactivity Documentation
1. Purpose
This module implements an MVVM-friendly interactivity pattern for WPF applications, enabling ViewModels to request user interactions (such as notifications and confirmations) without creating direct dependencies on UI components. It provides a decoupled event-driven mechanism where ViewModels raise interaction requests via InteractionRequest<T>, which are handled by the View through triggers and behaviors. This pattern is commonly used in frameworks like Prism to maintain separation of concerns between presentation logic and UI implementation.
2. Public Interface
Interfaces
INotification
string Title { get; set; }— Gets or sets the title for the notification.object Content { get; set; }— Gets or sets the content of the notification.
IConfirmation : INotification
bool Confirmed { get; set; }— Gets or sets a value indicating whether the confirmation was accepted.
IInteractionRequest
event EventHandler<InteractionRequestedEventArgs> Raised— Event fired when an interaction is requested.
IInteractionRequestAware
INotification Notification { get; set; }— The notification passed when the interaction request was raised.Action FinishInteraction { get; set; }— An action that can be invoked to finish the interaction.
Classes
Notification : INotification
Concrete implementation of INotification providing Title and Content properties.
Confirmation : Notification, IConfirmation
Extends Notification and implements IConfirmation. Adds:
bool Confirmed { get; set; }— Gets or sets a value indicating that the confirmation is confirmed.
InteractionRequest<T> : IInteractionRequest where T : INotification
Generic class for raising interaction requests.
event EventHandler<InteractionRequestedEventArgs> Raised— Fired when interaction is needed.void Raise(T context)