--- source_files: - Common/DTS.Common/Events/GroupTemplates/GroupTemplateList/GroupTemplateListGroupDoubleClickEvent.cs - Common/DTS.Common/Events/GroupTemplates/GroupTemplateList/GroupTemplateListGroupTemplateSelectedEvent.cs generated_at: "2026-04-17T16:37:52.470436+00:00" model: "zai-org/GLM-5-FP8" schema_version: 1 sha256: "6fe92df199df2a2d" --- # Documentation: GroupTemplateList Events ## 1. Purpose This module defines two event types for the GroupTemplateList feature within the DTS application. These events facilitate loosely-coupled communication between UI components using the Prism Event Aggregation pattern. They notify subscribers when user interactions occur with group templates—specifically when a template is selected or double-clicked. --- ## 2. Public Interface ### `GroupTemplateListGroupDoubleClickEvent` **Signature:** ```csharp public class GroupTemplateListGroupDoubleClickEvent : PubSubEvent { } ``` **Behavior:** An event that publishes a `string` payload. Intended to be raised when a user double-clicks on a group template in a list view. Subscribers receive the template identifier as a string. --- ### `GroupTemplateListGroupTemplateSelectedEvent` **Signature:** ```csharp public class GroupTemplateListGroupTemplateSelectedEvent : PubSubEvent { } ``` **Behavior:** An event that publishes a `string[]` (string array) payload. Intended to be raised when a template is selected in the group template list. Subscribers receive an array of strings, the contents of which are not documented in the source. --- ## 3. Invariants - Both event classes inherit from `PubSubEvent` and add no additional members or overrides. - `GroupTemplateListGroupDoubleClickEvent` always carries a single `string` payload. - `GroupTemplateListGroupTemplateSelectedEvent` always carries a `string[]` payload. - Both classes are concrete, non-abstract, and non-sealed. --- ## 4. Dependencies **This module depends on:** - `Prism.Events` — Provides the `PubSubEvent` base class for implementing the pub/sub event pattern. **What depends on this module:** - Cannot be determined from source alone. Consumers would typically be ViewModels or services that publish or subscribe to these events via Prism's `IEventAggregator`. --- ## 5. Gotchas 1. **Mismatched XML documentation:** The `` comment in `GroupTemplateListGroupDoubleClickEvent.cs` incorrectly states "The GroupTemplateListGroupTemplateSelectedEvent event" instead of referencing its own class name. This appears to be a copy-paste error. 2. **Inconsistent payload types:** The two events use different payload types (`string` vs `string[]`) despite both having the same remarks comment ("called when a template is selected"). The semantic meaning of the `string[]` payload in `GroupTemplateListGroupTemplateSelectedEvent` is unclear from the source—developers should investigate the publisher to understand what the array contains. 3. **Identical remarks:** Both events share the same remarks text, which is misleading since they represent different user